В нижераспологающейся заметке речь пойдет о, пожалуй, одном из лучших компонентов организации галерей изображений — Phoca Gallery.
В каких-то случаях такой компонент может выполнять роль витрины товаров или каталога продукции компании. В этом случае определенную ценность (в основном, конечно, для поисковых систем) имеют заголовки страниц. Далее мысли и идеи по улучшению заголовков страниц категорий товаров и некоторые сопутствующие вопросы.
Беглый поиск по скриптам шаблона вывода страниц привел к следующим выводам:
- Все страницы являются страницами категорий.
- Заголовки страниц категорий формируются в файле шаблона \components\com_phocagallery\views\category\view.html.php
- Код формирования заголовка страницы зависит от настройки displaycatnametitle:
При этом значение этой настройки забираются в начальной части шаблона ($tmpl['displaycatnametitle'] = $params->get( 'display_cat_name_title', 1 );), но в основном файле настроек \administrator\components\com_phocagallery\config.xml ее что-то не видно.
// Set page title per category if ($tmpl['displaycatnametitle'] == 1) { $document->setTitle($params->get( 'page_title') . ' - '. $category->title); } else { $document->setTitle( $params->get( 'page_title' )); }
В существующем виде с неизменными настроками тайтл родительских и дочерних категорий состоит из названия пункта меню (пусть это будет «Каталог товаров»).
Более правильным мне кажется следующее содержимое тайтлов страниц:
— В родительской категории: Копыта прямые — Каталог товаров — Фирма Рога и копыта;
— В дочерней категории: Копыта прямые — «СуперКопыто» — Фирма Рога и копыта;
На скорую руку это было сделано так:
// 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 ''; } соответственно.
код есть, но при замене на код который сделан на скорую руку вылетает ошибка
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
спасибо
Мои хаки работают сейчас на Phoca Gallery 2.5.8 и Joomla 1.5.14, видимо код скриптов этого компонента сильно поменялся, и необходима новая доработка новой версии, а может в ней уже есть нужная настройка.
Судя по дате написания этой заметки понял, что версии Phoca Gallery разные, но код 1 в 1(думал сработает, а не сработало). Заголовок страницы можно менять штатными настройками (Название пункта меню, Название пункта меню — Заголовок Категории, Заголовок Категории), а вот в title только Название пункта меню и всё тут.