Блог специалистов
03.12.2011

Мета-теги в PHPShop или как изменить title в коде шаблона.

PHPShop. Многие оптимизаторы сталкивались с данной CMS и часто возникает вопрос о полной свободе в мета-тегах, тогда мы сразу ищем, как вставить php-код в шаблон, но неожиданно видим, что это мало что дает.

В общем, есть решение. Думаю, что опытный оптимизатор дойдет до него сам, но дабы облегчить "путь тернистый", выкладываю свое решение:

1. В файле meta.inc.php (лежит он в /phpshop/inc/)

Находим строки вида:

// Определяем переменые
@$SysValue['other']['pageTitl']= $title;
@$SysValue['other']['pageReg']= $RegTo['RegisteredTo'];
@$SysValue['other']['pageDomen']= $RegTo['DomenLocked'];
@$SysValue['other']['pageProduct']= $RegTo['ProductName'];
@$SysValue['other']['pageDesc']= $metas;
@$SysValue['other']['pageKeyw']= $keywords;
$SysValue['other']['pageCss']=$SysValue['dir']['templates'].chr(47).$_SESSION['skin'].chr(47).$SysValue['css']['default'];

и заменяем их вот таким образом:

// Определяем переменые
include($_SERVER['DOCUMENT_ROOT']."/titles.php");

@$SysValue['other']['pageReg']= $RegTo['RegisteredTo'];
@$SysValue['other']['pageDomen']= $RegTo['DomenLocked'];
@$SysValue['other']['pageProduct']= $RegTo['ProductName'];
$SysValue['other']['pageCss']=$SysValue['dir']['templates'].chr(47).$_SESSION['skin'].chr(47).$SysValue['css']['default'];

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

2. Далее создаем в корне сайта файл titles.php c кодом ссылок страниц, на которых нужно менять мета-данные:

<?php
{
if ($_SERVER['REQUEST_URI']=='/') {
@$SysValue['other']['pageTitl']= 'Наш тайтл для главной страницы';
@$SysValue['other']['pageKeyw']= 'наши кейворды';
@$SysValue['other']['pageDesc']= 'наш дескрипшн';
}

else if ($_SERVER['REQUEST_URI']=='/shop/CID_263.html') {
@$SysValue['other']['pageTitl']= 'Наш тайтл для какой-то страницы товара';
@$SysValue['other']['pageKeyw']= 'наши кейворды';
@$SysValue['other']['pageDesc']= 'наш дескрипшн';
}

else {
@$SysValue['other']['pageTitl']= $title;
@$SysValue['other']['pageDesc']= $metas;
@$SysValue['other']['pageKeyw']= $keywords;
}
}
?>

Думаю, все понятно из кода. Этот код универсален и подойдет для любого URL, не важно какой модуль его генерирует.


Количество показов: 11586




Возврат к списку