На днях при организации структуры данных своего сайта столкнулся с проблемой, связанной с отображением в разделах категорий, не содержащих ни одной статьи - не смотря на установленное значение "Показать" в атрибутах "Пустые категории в разделе", "Список категорий - Категория" и "Пустые категории" соответствующего пункта основного меню, с которым связан этот раздел, в самом разделе напрочь отказываются отображаться категории, в которые не добавлено хотя бы одной статьи. Саму структуру данных на сайте планировал реализовывать за счет поля "Описание:" в параметрах разделов и категорий, а также ссылок на "внешние", не связанные ни с одной из категорий статичные содержимые, поскольку тот или иной план (категория раздела), может содержать одну из услуг (объектов статичного содержимого) другого плана, а как известно, несколько ссылок на страницы с одним и тем же содержимым на сайте поисковыми системами мало приветствуются. Собственно, просьба помочь разобраться с системным "багом" и устранить его, ну или, по крайней мере, направить мои силы в нужное русло. Сам же я полагаю, ковырять нужно com_categories и com_content, либо одно из двух, но познания мои ограничиваются лишь базовыми задатками по школьной программе, непосредственно сам PHP не изучал. Также возможен вариант предложения использовать какое-либо проверенное опытом и временем расширение. Вообщем "нид хелп" - рассчитываю на вашу помощь! З.Ы. На сервере установлен дистрибутив стабильной версии CMS Joomla! 1.0.12, все необходимые настройки соблюдены при непосредственной установке системы управления сайтом.
Ответ: В разделах не отображаются пустые категории У мена такое было, когда с временем намудрил. Батарейка дохлая была на компе. Время создание было в будущем. Проверь, мож поможет.
Ответ: В разделах не отображаются пустые категории Да нет, не похоже на то, что именно во времени проблемы, другие статьи (динамические), например новости, добавляются тем же числом и временем, что и реальные дата и время добавления их на сайт. По-прежнему, разбираясь в причинах, только развожу руками...
Ответ: В разделах не отображаются пустые категории Нет такого во фронтенде joomla Посмотри, совпадают ли Itemid у категории на сайте и Itemid настраиваемого пункта меню. Возможно, настройки категории наследуются от пункта меню Таблица - Содержимое раздела
Ответ: В разделах не отображаются пустые категории Всем привет! Сам недавно искал ответ на этот вопрос. Нашёл здесь: http://joomlaforum.ru/index.php?topic=12291.0 Правда, с номерами строк там накладочка. Ниже картинка, как это сделано у меня. Не уверен в корректности изменений, но работает. Дополнительно, надо будет подправить \language\russian.php, строка 121: DEFINE('_EMPTY_CATEGORY',''); Иначе, запарит сообщение "Данная категория не содержит объектов.".
Ответ: В разделах не отображаются пустые категории В папке '\components\' корневой директории сайта - нет, это правда, однако присутствует в '\administrator\components\'. За вывод содержимого в область mosMainBody(), по сути, всегда полностью отвечает программный код компонента com_content, вот в нем как раз, а точнее непосредственно в 'content.html.php' со 123 строки начинается то самое, что отвечает за вывод названия категории (строка 141), количества объектов содержимого в ней (строка 145) и ее описания (строка 154). На первый взгляд, все написано с толком и расстановкой (если это, то то... отсюда - это, оттуда -то...): Код (CODE): /** * Display links to categories */ function showCategories( &$params, &$items, $gid, &$other_categories, $catid, $id, $Itemid ) { if(!count($other_categories)) return; ?> <ul> <?php foreach ( $other_categories as $row ) { $row->name = htmlspecialchars( stripslashes( ampReplace( $row->name ) ), ENT_QUOTES ); if ( $catid != $row->id ) { ?> <li> <?php if ( $row->access <= $gid ) { $link = sefRelToAbs( 'index.php?option=com_content&task=category&sectionid='. $id .'&id='. $row->id .'&Itemid='. $Itemid ); ?> <a href="<?php echo $link; ?>" class="category"> [COLOR=YellowGreen]<?php echo $row->name;?></a>[/COLOR] <?php if ( $params->get( 'cat_items' ) ) { ?> [COLOR=YellowGreen] <i>( <?php echo $row->numitems; echo _CHECKED_IN_ITEMS;?> )</i>[/COLOR] <?php } // Writes Category Description if ( $params->get( 'cat_description' ) && $row->description ) { ?> <br /> <?php [COLOR=YellowGreen]echo $row->description;[/COLOR] } } else { echo $row->name; ?> <a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=register' ); ?>"> ( <?php echo _E_REGISTERED; ?> )</a> <?php } ?> </li> <?php } } ?> </ul> <?php } Нужно только разобраться, как то, что берется из com_categories административной части, "интерпретируется" в com_content и правильно ли построены условия вывода, в частности пустых категорий. Как я уже писал, в программировании секу слабо, исходя из чего, очень рассчитываю на вашу помощь. Хотя и не понял сначала, как это связано с описанной мной ситуацией в предыдущих постах, проверил: ссылки в меню на сайте ведут к содержимому разделов, соответственно, пункты меню, а в частности тот, который меня больше всего беспокоит, настроены именно как Таблица - Содержимое раздела. На сайте ссылка на раздел выглядит точно также, как и в настраиваемом пункте меню: 'index.php?option=com_content&task=section&id=3&Itemid=4', Itemid у пункта меню, соответствующего разделу в административной части, как этого и следовало ожидать, 4. Как сравнить Itemid у категории, не знаю, перспектива связывания категорий с меню меня особо не радует, хотелось бы, чтобы ссылки на категории вели из разделов, которым они соответствуют. А в разделе реально отображается категория только тогда, когда в нее добавишь хотя бы одну статью, стоит удалить статью из этой категории или перенести ее в другую категорию, категория исчезает, как будто ее и не было.
Ответ: В разделах не отображаются пустые категории Уууу, Doga, век буду - не забуду! :-X Так помог, что ну, у меня слов нет, прямо заново вселил в меня потерянную уверенность в силах и недюжих способностях человеческого разума. Все заработало, как по накатанной - не поддающееся определению размеров ширины и высоты спасибище тебе! А пост товарища saschaAG для CMS Joomla! 1.0.12 да и 1.0.13, думаю, тоже можно переписать как:
Ответ: В разделах не отображаются пустые категории Да, я тут, в общем то, и не причём... saschaAG благодарите...
Ответ: В разделах не отображаются пустые категории Ну не знаю... В Joomla RE 1.0.13 всё работает. Откуда у проблемы ноги растут?
Ответ: В разделах не отображаются пустые категории В том то всё дело, что непонятно откуда растут эти ноги. Но настройками в админцентре эту проблему победить не удалось. По крайней мере, в версии 1.0.12...
Ответ: В разделах не отображаются пустые категории Специально для того, чтобы протестировать в действии билд 1.0.13, создал у себя на хосте субдомен, в директорию которого установил CMS, залил и настроил шаблон, создал разделы и категории - все в точности с тем, что находится в корневой директории с предыдущей версией системы управления. Разницу между 1.0.12 и 1.0.13 в плане отображения в разделах пустых категорий обнаружить мне так и не удалось - а если бы там все работало как надо, обновил бы корневой каталог до 1.0.13, даже не задумываясь.
Ответ: В разделах не отображаются пустые категории Joomla_1.0.12_RE-Stable-Full_Package.tar.gz Joomla_1.0.13_RE-Stable-Full_Package.tar.gz Вот самое то, с я чем активно работаю, по крайней мере, последние дней 7. До этого в основном занимался лишь самообразованием: читал хелп, изучал доки... А стоило собственными руками взяться за дело, как начали проявляться различного рода глюки - история, изложенная в этой теме - это как раз один из случаев.
Ответ: В разделах не отображаются пустые категории Друзья! Проблему замяли, а баг то остался неисправленным!!! Детально разъясняю суть бага джумлы (он есть и Joomla! 1.0.13 Stable, Надеюсь в 1.0.14 его уберут.): У тех, у кого не отображаются пустые категории, формируется примерно следующий запрос на выборку: SELECT a. * , COUNT( b.id ) AS numitems FROM bt_categories AS a LEFT JOIN bt_content AS b ON b.catid = a.id AND b.state =1 AND ( b.publish_up = '0000-00-00 00:00:00' OR b.publish_up <= '2007-10-25 11:47' ) AND ( b.publish_down = '0000-00-00 00:00:00' OR b.publish_down >= '2007-10-25 11:47' ) WHERE a.section = '1' AND a.published =1 AND a.access <=0 AND b.access <=0 GROUP BY a.id ORDER BY a.ordering LIMIT 0 , 30 Ошибка! Проверяется b.access <=0, не учитывая, что b.access может быть вообще принимать null что и происходит, когда в категории нет контента вовсе. Поэтому же у других пользователей и выводятся пустые категории, потому что у них в глоб.конф. установлен пункт "Показывать ссылки неавторизованным: Да", тоесть когда оба условия AND a.access <=0 AND b.access <=0 вовсе опускаются и не вызывают логическую ошибку. Исправление ошибки: В файле \components\com_content\content.php Заменить строку рядом с 325 (зависит от языковой версии): $access_check_content = "\n AND (b.access Is Null OR b.access <= " . (int) $gid . ")"; /* changin`: dankey: испр.ошибка */
Ответ: В разделах не отображаются пустые категории Ага, только на английский перевел Googl'ом - местами косячно Но суть ошибки, думаю ясна.
Ответ: В разделах не отображаются пустые категории немного не в тему, но все же при выводе содержимого раздела, как убрать описание категорий? (описания категорий не нужны во всех разделах) вариант с установкой в меню настройки "описание категорий"= "скрыть" не проходит. есть ощущение что-то надо менять в content.html.php
Ответ: В разделах не отображаются пустые категории dankey +1, добавлю (вроде здесь нигде не написано): вносим то, что dankey прописал, потом, если нужно, что бы: отображались пустые категории ставим в глобальных настройках "Показывать ссылки неавторизованным:" "Да" не отображались пустые категории там же выставляем "Нет".