Правильные названия (заголовки, title) страниц категорий в галерее Phoca Gallery

box-phoca-galleryВ нижераспологающейся заметке речь пойдет о, пожалуй, одном из лучших компонентов организации галерей изображений — Phoca Gallery.

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

Беглый поиск по скриптам шаблона вывода страниц привел к следующим выводам:

  • Все страницы являются страницами категорий.
  • Заголовки страниц категорий формируются в файле шаблона \components\com_phocagallery\views\category\view.html.php
  • Код формирования заголовка страницы зависит от настройки displaycatnametitle:
    // Set page title per category
    if ($tmpl['displaycatnametitle'] == 1) {
    	$document->setTitle($params->get( 'page_title') . ' - '. $category->title);
    } else {
    	$document->setTitle( $params->get( 'page_title' ));
    }
    При этом значение этой настройки забираются в начальной части шаблона ($tmpl['displaycatnametitle'] = $params->get( 'display_cat_name_title', 1 );), но в основном файле настроек \administrator\components\com_phocagallery\config.xml ее что-то не видно.

В существующем виде с неизменными настроками тайтл родительских и дочерних категорий состоит из названия пункта меню (пусть это будет «Каталог товаров»).
Более правильным мне кажется следующее содержимое тайтлов страниц:
— В родительской категории: Копыта прямые — Каталог товаров — Фирма Рога и копыта;
— В дочерней категории: Копыта прямые — «СуперКопыто» — Фирма Рога и копыта;

На скорую руку это было сделано так:

// Set page title per category
$parentCategory = $this->get('parentcategory');
if ($tmpl['displaycatnametitle'] == 0) {
	if ($parentCategory->title)
		$document->setTitle($parentCategory->title . ' - '. $category->title);
	else
		$document->setTitle($params->get('page_title') . ' - '. $category->title);
} else {
	$document->setTitle($category->title .' - '. $params->get( 'page_title'));
}

Примечание: Этот метод проверялся и работает только при заходе в категории из ссылки в меню ведущей на главную страницу компонента (т.е. из ссылки «Каталог товаров») так как в случае родительской категории тайтл складывается из названия меню и названия категории. Для других случаев следует добавить свои условия по ситуации.

Оффтоп:
Приятно, что модуль навигации по сайту (mod_breadcrumbs) отражает абсолютно правильный путь по категориям. Но если попробовать вывести его элементы внутри шаблона вывода категории галереи выведется только ссылка на весь компонент, т.е. «Каталог товаров»

global $mainframe;
$pathway = $mainframe->getPathway();
$items   = $pathway->getPathWay();
$count = count($items);
echo $count.'<br>';
echo $items[0]->name.'<br>'; // Каталог товаров
echo $items[1]->name.'<br>';
echo $items[2]->name.'<br>';

этот же код в шаблоне сайта и в самом модуле показывает все три (или четыре в зав. от настроек) элемента.

Удаление ссылки на сайт Phoca в галерее версии 3.8.2

Для этого достаточно поискать по файлам компонента строку ''Gal'.'lery'', в найденных файлах обнулить переменную $tmpl['def'] (в 2-х скриптах) и функцию function getDivs() { return ''; } соответственно.

Комментариев: 3

  • 05.11.2011 Вадим:

    Заголовки страниц категорий формируются в файле шаблона \components\com_phocagallery\views\category\view.html.php

    код есть, но при замене на код который сделан на скорую руку вылетает ошибка

    Fatal error: Call to a member function get() on a non-object in D:\xampp\htdocs\11111\components\com_phocagallery\views\category\view.html.php on line 644

    Phoca 3.0.2 в чем причина, и как сделать title название главной категории галереи — название подкатегории title

    спасибо

    • 05.11.2011 Кирилл:

      Мои хаки работают сейчас на Phoca Gallery 2.5.8 и Joomla 1.5.14, видимо код скриптов этого компонента сильно поменялся, и необходима новая доработка новой версии, а может в ней уже есть нужная настройка.

      • 05.11.2011 Вадим:

        Судя по дате написания этой заметки понял, что версии Phoca Gallery разные, но код 1 в 1(думал сработает, а не сработало). Заголовок страницы можно менять штатными настройками (Название пункта меню, Название пункта меню — Заголовок Категории, Заголовок Категории), а вот в title только Название пункта меню и всё тут.


Добавление комментария:

 css.php