Jump to content

Переводим генератор URL для категорий в ручной режим


Recommended Posts

Приветствую всех.
Столкнулся мой клиент с такой ситуацией.
Был у него сайт, который был проиндексирован и по некоторым запросам был в ТОПе... И вот обратился он ко мне с доработкой функционала и обновлением дизайна. После чего он решил, пере структурировать иерархию категорий на сайте. Ему так же было не приятен тот факт, что переименовка категорий сопровождалась перегенерацией УРЛов
 
Сделал ему такое простенькое решение, может кому пригодится.

Все в одном файле  /simpla/design/htm/product.tpl


1 Добавляем кнопочку генерировать

<li><label class=property>Адрес</label><div class="page_url">/catalog/</div><input name="url" class="page_url" type="text" value="{$category->url|escape}" /></li>

заменяем на 

<li><label class=property>Адрес <a href="#" id="genrate">генерировать</a></label><div class="page_url">/catalog/</div><input name="url" class="page_url" type="text" value="{$category->url|escape}" /></li>

2 Добавляем функцию при клике на ту самую кнопочку

$('input[name="url"]').change(function() { url_touched = true; });
$('input[name="name"]').keyup(function() { set_meta(); });

добавляем что бы получилось так:

$('input[name="url"]').change(function() { url_touched = true; });
$('input[name="name"]').keyup(function() { set_meta(); });
$('#genrate').click(function(){$('input[name="url"]').val(generate_url())});

3 Отключаем автогенератор для нашего поля

function set_meta()
{
	if(!meta_title_touched)
		$('input[name="meta_title"]').val(generate_meta_title());
	if(!meta_keywords_touched)
		$('input[name="meta_keywords"]').val(generate_meta_keywords());
	if(!meta_description_touched)
		$('textarea[name="meta_description"]').val(generate_meta_description());
	if(!url_touched) 
		$('input[name="url"]').val(generate_url());
}

заменяем

function set_meta()
{
	if(!meta_title_touched)
		$('input[name="meta_title"]').val(generate_meta_title());
	if(!meta_keywords_touched)
		$('input[name="meta_keywords"]').val(generate_meta_keywords());
	if(!meta_description_touched)
		$('textarea[name="meta_description"]').val(generate_meta_description());
	//if(!url_touched) 
	//	$('input[name="url"]').val(generate_url());
}
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...