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

Dmitriy-CoDy

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

Но при настройке вывода организованной иерархии категорий и материалов, ВЫЛЕЗЛА одна проблемка. Никак не не получалось убрать надпись "Подкатегории" в стандартных пердставлениях компонента 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, 20:36:54 от Dmitriy-CoDy »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Убрать надпись Подкатегории
« Ответ #1 : 13.01.2015, 10:36:11 »
А эта настройка show_category_heading_title_text случайно не относится совсем к другому?
*

Dmitriy-CoDy

  • Новичок
  • 7
  • 1 / 0
Re: Убрать надпись Подкатегории
« Ответ #2 : 15.01.2015, 10:34:39 »
Система -> Общие настройки -> Материалы -> Категория

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

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

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Убрать надпись Подкатегории
« Ответ #3 : 15.01.2015, 15:01:30 »
Да, ваша правда! Переношу в баги. Будет время, сделаю Pull request.
*

zveruga

  • Новичок
  • 1
  • 0 / 0
Re: Убрать надпись Подкатегории
« Ответ #4 : 14.04.2015, 16:06:34 »
Joomla 3.4.1
Баг до сих пор живой.
Dmitriy-CoDy, спасибо!
*

mgthr

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Убрать надпись Подкатегории
« Ответ #5 : 23.04.2015, 15: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, 15:47:59 от mgthr »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться