Форум русской поддержки Joomla!® CMS
06.12.2016, 12:19:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Убрать надпись Подкатегории

 (Прочитано 1537 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dmitriy-CoDy
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« : 10.01.2015, 21:32:25 »

Понадобилось мне организовать некое подобие "мини каталога". Так-как все данные статичны, решил обойтись штатными категориями и материалами.

Но при настройке вывода организованной иерархии категорий и материалов, ВЫЛЕЗЛА одна проблемка. Никак не не получалось убрать надпись "Подкатегории" в стандартных пердставлениях компонента com_content: список материалов категории и список всех категорий.

Несмотря на наличие настройки, которая управляет отображением данной надписи, влияла она лишь только на представление: блог категории. До последнего надеялся, что это все от незнания CMS, а как оказалось - зря.

Выводом надписи "Подкатегории" для представлений: список материалов категории и список всех категорий, занимается скрипт: /layouts/joomla/content/category_default.php(или его переопределенная копия для шаблона /templates/шаблон/html/layouts/joomla/content/category_default.php). Вот код:
Код:
<div class="cat-children">
<h3> <?php echo JTEXT::_('JGLOBAL_SUBCATEGORIES'); ?> </h3>

<?php echo $displayData->loadTemplate('children'); ?>
</div>
как видно, никакого дела до настройки "Показывать текст «Подкатегории»" ему нет.

Учим этот скрипт считаться с настройкой "Показывать текст «Подкатегории»", правим код следующим образом:
Код:
<div class="cat-children">
<?php if ($displayData->params->get('show_category_heading_title_text', 1) == 1) : ?>
<h3> <?php echo JTEXT::_('JGLOBAL_SUBCATEGORIES'); ?> </h3>
<?php endif; ?>

<?php echo $displayData->loadTemplate('children'); ?>
</div>

Не знаю баг это, о котором стоит отписать на баг трекер, или хитрая задумка девелоперов, - пусть решают более опытные члены Joomla community. Фактом остается лишь море постов на просторе рунета в которых дают самые экзотические рецепты по решению данной "проблемы".

Версия joomla: 3.3.6.
« Последнее редактирование: 10.01.2015, 21:36:54 от Dmitriy-CoDy » Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7523


Разраблю понемногу


« Ответ #1 : 13.01.2015, 11:36:11 »

А эта настройка show_category_heading_title_text случайно не относится совсем к другому?
Записан
Dmitriy-CoDy
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #2 : 15.01.2015, 11:34:39 »

Система -> Общие настройки -> Материалы -> Категория

Название параметра: Показывать текст «Подкатегории»
Описание: Показывать текст «Подкатегории». Если установлено Показать, на странице будет отображён подзаголовок «Подкатегории». Обычно этот заголовок отображается с помощью тега H3.
Системное имя: show_category_heading_title_text

Такой же параметр имеется и в настройках для типов пунктов меню:  "Список материалов категории" и "Блог категории". Для "Список всех категорий" такого параметра не нашел. Но реакция на изменение этого параметра имеется только для "Блог категории".
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7523


Разраблю понемногу


« Ответ #3 : 15.01.2015, 16:01:30 »

Да, ваша правда! Переношу в баги. Будет время, сделаю Pull request.
Записан
zveruga
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #4 : 14.04.2015, 17:06:34 »

Joomla 3.4.1
Баг до сих пор живой.
Dmitriy-CoDy, спасибо!
Записан
mgthr
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21



« Ответ #5 : 23.04.2015, 16:41:54 »

Не могу найти по указанным адресам, Joomla 3.4.1:  /layouts/joomla/content/category_default.php(или его переопределенная копия для шаблона /templates/шаблон/html/layouts/joomla/content/category_default.php) - указанные строчки.
Вот что есть по адресу -  /layouts/joomla/content/category_default.php
Код:
<?php
/**
 * @package     Joomla.Site
 * @subpackage  Layout
 *
 * @copyright   Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

?>
<?php if ($displayData->params->get('show_page_heading')) : ?>
<h1>
<?php echo $displayData->escape($displayData->params->get('page_heading')); ?>
</h1>
<?php endif; ?>

<?php if ($displayData->params->get('show_base_description')) : ?>
<?php //If there is a description in the menu parameters use that; ?>
<?php if($displayData->params->get('categories_description')) : ?>
<div class="category-desc base-desc">
<?php echo JHtml::_('content.prepare', $displayData->params->get('categories_description'), '',  $displayData->get('extension'). '.categories'); ?>
</div>
<?php else : ?>
<?php //Otherwise get one from the database if it exists. ?>
<?php  if ($displayData->parent->description) : ?>
<div class="category-desc base-desc">
<?php echo JHtml::_('content.prepare', $displayData->parent->description, '', $displayData->parent->extension . '.categories'); ?>
</div>
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
и по - /templates/шаблон/html/layouts/joomla/content/category_default.php
Код:
<?php
/**
* @package   yoo_subway
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

// include config and layout
$base = dirname(dirname(dirname(dirname(__FILE__))));
include($base.'/config.php');
include($warp['path']->path('layouts:'.preg_replace('/'.preg_quote($base, '/').'/', '', __FILE__, 1)));

Как же все таки ее решить?
« Последнее редактирование: 23.04.2015, 16:47:59 от mgthr » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet