→ При разработке сайта лендинг в подарок! ЖМИ! ←
Ноя
11

Красивый заголовок страницы категории virtuemart

По умолчанию Виртумарт в тайтл страницы выводит только последнюю категорию, что не всегда есть здорово. Простейший пример — магазин автотюнинга. Родительская категория называется, к примеру, Citroen, а дочерняя — Xantia. Тогда тайтл у нас будет иметь примерно такой вид:

Заголовок страницы категории виртумарт

Согласитесь, что это не шибко здорово. Поэтому необходимо лечить, чем мы сейчас и займемся.

За вывод категории отвечает файл shop.browse.php, его и будем препарировать. За вывод заголовка окна отвечает строка 96 со следующим содержанием:

1
$vm_mainframe->setPageTitle( $db->f("category_name") );

Нам же нужно получить не только последнюю категорию, но и все родительские перед ней. Поэтому данную функцию нужно перенести по коду ниже. Для надежности строку 96 с этой функцией можно просто закомментировать (поставить // в начале строки).

Далее находим строчку (у меня она 155-я)

1
$tpl->set( 'parent_name', $parent_name );

и вставляем после неё

1
2
$tname = $parent_name." ".$category_name;
        $vm_mainframe->setPageTitle( $tname);

И наслаждаемся результатом.

Красивый заголовок страницы категории virtuemart

5 коммент. к записи “Красивый заголовок страницы категории virtuemart”

  • Саша 7 февраля 2012 - 16:47

    Добрый день.
    Правильный ход мыслей.
    Сам только начал разбираться с магазином, который мне подкинули 🙂
    Не подскажете как написать по тому же принципу тайтл у товара
    название товара + название его категории?

  • K_E_V_in 8 февраля 2012 - 9:55

    Принцип такой же, только тут есть один момент. Один товар может быть одновременно опубликован в разных категориях, что вызовет белиберду в заголовке. Поэтому лично я предложил бы просто писать руками 🙂 Ну или если уверены на 100%, что мультикатегорий не будет, тогда можете писать запрос в базу.

  • Дмитрий 16 февраля 2012 - 1:42

    блин беда о какой версии вм идет речь у меня с переменной $vm_mainframe только эта строчка $vm_mainframe->vmAppendPathway( $pathway ); все перерыл(((
    А parent_name и вовсе нет
    Искал глазом тоталкомандером и Дв ничего не найденно(((

  • K_E_V_in 16 февраля 2012 - 1:54

    Ищите по setPageTitle

  • kreolka 22 июня 2012 - 12:11

    У меня тоже нет строчки 155, пробовала искать по setPageTitle, их несколько.
    Добавила ваши строчки после $mainframe->setPageTitle( $db->f(«mf_name») ); и ничего не изменилось. VM 1.1.9

Прокомментировать

Рубрики

Наши услуги

В прямом эфире