0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 6380 Просмотров
*

redeye

  • Захожу иногда
  • 61
  • 4 / 0
Возможно ли сделать автоматическое формирование <title> в scatalogе в товаре:  название товара + название категории + название сайта, то есть получается, например: 
Samsung Galaxy S II I9100 / Сотовые телефоны / Магазин#1
Подскажите, пожалуйста, как такое реализовать?
*

nikolas_sovest

  • Новичок
  • 6
  • 1 / 0
Я себе сделал взяв из модуля код, который формирует путь к странице исходя из структуры сайта.
У меня получился title  из названия товара и пути где он находится, пример можно посмотреть на примере товара
http://slamour.ru/catalog/wedding-dresses/collection-dominick/item/11-wedding-dresses-patrs

Реализация для Joomla 1.5

Ищем файл и редактируем
/components/com_djcatalog/views/item/view.html.php

там есть строчка такая
Код
 function display($tpl = null) 

В самое начало функции вставляем

Код
global $mainframe;

далее находим следующий кусок кода

Код
if (is_object( $menu ) && isset($menu->query['view']) && (($menu->query['view'] == 'item' && isset($menu->query['id']) && $menu->query['id'] == $item->id) || ($menu->query['view'] == 'items' && isset($menu->query['cid']) && $menu->query['cid'] == $item->cat_id) || ($menu->query['view'] == 'itemstable' && isset($menu->query['cid']) && $menu->query['cid'] == $item->cat_id))) {
$menu_params = new JParameter( $menu->params );
if (!$menu_params->get( 'page_title')) {
$params->set('page_title', $item->name);
}
} else {
$params->set('page_title', $item->name);
}
$document->setTitle( $params->get( 'page_title' ) );

if ($item->metadesc) {
$document->setDescription( $item->metadesc );
}
if ($item->metakey) {
$document->setMetadata('keywords', $item->metakey);
}

if ($app->getCfg('MetaTitle') == '1') {
$app->addMetaTag('title', $item->name);
}


и меняем на этот.

Код
/**/
$pathway =& $mainframe->getPathway();
$is   = $pathway->getPathWay();
$ct = count($is);

for ($i = $ct-1; $i > -1 ; $i --)
{
$is[$i]->name = stripslashes(htmlspecialchars($is[$i]->name));
$er .= " <- ".$is[$i]->name; // формирование заголовка (название товара  <- категория <- главная категория ... )
}
$ine = $item->name.$er;
/**/
if (is_object( $menu ) && isset($menu->query['view']) && (($menu->query['view'] == 'item' && isset($menu->query['id']) && $menu->query['id'] == $item->id) || ($menu->query['view'] == 'items' && isset($menu->query['cid']) && $menu->query['cid'] == $item->cat_id) || ($menu->query['view'] == 'itemstable' && isset($menu->query['cid']) && $menu->query['cid'] == $item->cat_id))) {
$menu_params = new JParameter( $menu->params );
if (!$menu_params->get( 'page_title')) {
$params->set('page_title', $ine);
}
} else {
$params->set('page_title', $ine);
}
$document->setTitle( $params->get( 'page_title' ) );

if ($item->metadesc) {
$document->setDescription( $item->metadesc );
}
if ($item->metakey) {
$document->setMetadata('keywords', $item->metakey);
}

if ($app->getCfg('MetaTitle') == '1') {
$app->addMetaTag('title', $ine);
}


*

redeye

  • Захожу иногда
  • 61
  • 4 / 0
Спасибо, но вопрос по поводу sCatalog
а вы про com_djcatalog пишите  ^-^
*

nikolas_sovest

  • Новичок
  • 6
  • 1 / 0
Спасибо, но вопрос по поводу sCatalog
а вы про com_djcatalog пишите  ^-^
тьфу ты, сори, что то плохо разглядел :) У меня scatalog на другом сайте, спутал их :).
Ну а вообще по сути можно и на этот ориентироваться.

Сейчас посмотрим на scatalog
Идём методом тыка :)
Кажись этот файл отвечает за вывод продукта.
/components/com_scatalog/views/product/view.html.php

Так открываем, находим функцию
Код
function display($tpl = null)

В ней находим такие строчки.
Код
$pparams->set('page_title',	$product->title);
$document->setTitle( $product->title )

И вместо них вставляем следующий код (хотя можно и перед ними поставить, в коде они в конце исправленные, но тогда нужно удалить эти строчки, иначе ничего не поменяется.)

Код
		$config = & JFactory::getConfig(); //загружаем конфиг сайта
$is   = $pathway->getPathWay(); //Тырим путь сайта к товару
$ct = count($is);

for ($i = $ct-1; $i > -1 ; $i --)
{
$is[$i]->name = stripslashes(htmlspecialchars($is[$i]->name));
$er .= " <- ".$is[$i]->name; // формирование заголовка (название товара  <- категория <- главная категория ... )
}
$ine = $product->title.$er." - ".$config->getValue('sitename'); //(в конце добавлен заголовок зайта после тире, если не нужен можно удалить )
/**/

$pparams->set('page_title', $ine);
$document->setTitle( $ine ); // устанавливаем заголовок. Уаля, все готово, проверил, работает.

PS: поправил код, последнюю строчку забыл вставить.
« Последнее редактирование: 17.04.2012, 15:37:20 от nikolas_sovest »
*

redeye

  • Захожу иногда
  • 61
  • 4 / 0
Спасибо! Сделали
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сбрасывается счетчик хитов при редактировании товара

Автор dv2

Ответов: 0
Просмотров: 3613
Последний ответ 22.01.2014, 12:10:56
от dv2
Вывод картинки в категории и карточки товара

Автор resens

Ответов: 0
Просмотров: 3751
Последний ответ 05.12.2012, 15:41:08
от resens
Шаблон карточки товара.

Автор resens

Ответов: 0
Просмотров: 3613
Последний ответ 05.12.2012, 15:34:09
от resens
Не появляется диалог выбора изображения для товара.

Автор airdm

Ответов: 0
Просмотров: 4012
Последний ответ 28.06.2012, 21:38:19
от airdm
Не редактируются категории

Автор Сергей

Ответов: 1
Просмотров: 3114
Последний ответ 21.03.2012, 17:23:52
от shprota