Блог старого компьютера

Блог старого компьютера


Главная Разное WebAsyst Shop-Script меняем title страницы

WebAsyst Shop-Script меняем title страницы

24.05.2012 03:08 Администратор Разное
Печать PDF

Попросисли меня изменить титл в WebAsyst. Как не странно там у информационных страниц заголовок является и названием пункта меню и значением title. Несколько не продуманно на мой взгляд, для seo я бы даже сказал это серьезная проблема, ключевики задавать можно, описание можно а title нет. Вот эту проблему мне и понадобилось решить, добавить в админке поле title чтоб его можно было задавать прямо на странице редактирования.

    C WebAsyst я работал первый раз и не особо зная как что там работает я решил не добавлять новое поле а взять одно из сободных и на данном сайте неиспользуемых полей. Этим поле стало английское название страницы.

Самое сложное не забить туда title, а сделать вывод из данного поля информации в title. По скольку как там что работает для меня остается практически догадкой то менять title будем в самом шаблоне в файле head.html.

Менять будем по средством php, вставить php стандратным способом у нас не выйдет, но есть неплохая возможность вставить php спец тегами.

Для того чтоб движок начал обрабатывать php в шаблоне нам необходимо включить функцию которая по умолчанию отключена, для этого меняем в файле published/SC/html/scripts/classes/class.viewsc.php значение переменной c:

$this->security_settings['PHP_TAGS'] = false;

 на

$this->security_settings['PHP_TAGS'] = true;

 После этого движок начинает обрабатывать заключенное в спец символы php прямо в шаблоне. И так открываем файл шаблона для редактирования - published/publicdata/ваша_папка/attachments/SC/themes/ваша_тема/head.html

Под словом "ваша_папка" я имел ввиду папку которая лежит у вас в publicdata у меня там одна, так что думаю не ошибетесь или же методом тыка найдете ее.

Данные таких статичных страниц находятся в mysql таблице aux_page_name_ru следовательно оттуда нам их и надо вывести. Пишем небольшой скрипт и заменяем стандартный тег <title> этим скриптом, чтоб было понятней показываю ниже.

Было:

 <title>{$page_title|default:$smarty.const.CONF_DEFAULT_TITLE|escape:'html'}</title>

 Стало:

<title>
{php}
$x =$_SERVER['REDIRECT_URL'];
$x = str_replace("/", "", $x);
$table= mysql_query("SELECT aux_page_name_ru, aux_page_name_en FROM SC_aux_pages WHERE aux_page_slug='$x'") or die(mysql_error());
$row1 = mysql_fetch_array($table, MYSQL_BOTH);
if ($row1[aux_page_name_en]==''){
{/php}
{$page_title|default:$smarty.const.CONF_DEFAULT_TITLE|escape:'html'}
{php}
}
else{
echo $row1[aux_page_name_en];
}
{/php}</title>

Идем в админку забиваем в поле английского название требуемый title, и наслаждаемся.

Вот вроде бы и все,тестим проверяем как работает, вносим свои замечания. На этом этапе можно сказать что для поиска мы стали более милы.

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела