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

genius

  • Осваиваюсь на форуме
  • 28
  • 2 / 0
Привет всем, пытаюсь вывести все категории одним списком не зависимо от того в каком разделе находится категория. Нашел модуль вывода списка категорий определенного раздела, в нем в параметрах нужно указывать раздел, и он далее выводит все категории даного раздела. Можно как то отключить вывод именно одного раздела и выводить все категории сайта? Буду рад любой помощи.
Вот в helper.php код который связан с разделом:
Код
class modQCategoriesHelper {

function getCategories(&$params) {
$user =& JFactory::getUser();

$categories = array();
$section = modQCategoriesHelper::_loadSection($params);
if(is_object($section) && $section->published && $section->access <= $user->get('aid', 0)) {

$categories = modQCategoriesHelper::_loadCategories($params);
if($cc=count($categories)) {
for($i = 0; $i < $cc; $i++) {
$category =& $categories[$i];
$category->link = JRoute::_(ContentHelperRoute::getCategoryRoute($category->slug, $category->section).'&layout='.($params->get('layout',0)? 'default':'blog'));
if($params->get('show_description',0)) {
if($params->get('process_plugin',0)) {
$category->description = JHTML::_('content.prepare', $category->description);
} else {
$category->description = preg_replace('#{.*?}#','',$category->description);
}
$category->description = modQCategoriesHelper::_limitDescr($category->description,$params);
if($params->get('strip_tags',1)) {
$tags = $params->get('allowed_tags','<b><i><strong><em>');
$tags = str_replace(array(' ',"\n","\r"),'',$tags);
$category->description = strip_tags($category->description,$tags);
}
}
}
}
}
return $categories;
}
function _loadSection(&$params) {
$where = ' WHERE id = '. (int) $params->get('section_id',0);

$db =& JFactory::getDBO();
$query = 'SELECT *' .
' FROM #__sections' .
$where;
$db->setQuery($query, 0, 1);
$section = $db->loadObject();
return $section;
}
function _loadCategories(&$params) {
global $mainframe;

$user =& JFactory::getUser();
$noauth = !$params->get('show_noauth',0);
$gid = $user->get('aid', 0);
$now = $mainframe->get('requestTime');

$db =& JFactory::getDBO();
$nullDate = $db->getNullDate();

switch((int)$params->get('order_by')) {
case 0:
$orderby = 'a.title';
break;
case 1:
$orderby = 'a.ordering';
break;
case 2:
$orderby = 'numitems DESC';
break;
}

*

draff

  • Живу я здесь
  • 3626
  • 234 / 6
  • Ищу работу
Я вижу здесь ограничение по разделу.Пробуйте отключить.
Код
//$where = ' WHERE id = '. (int) $params->get('section_id',0);

$db =& JFactory::getDBO();
$query = 'SELECT *' .
' FROM #__sections' ;
Удалю вирус с сайта. Обновление Joomla!, JoomShopping, Virtuemart -> Коммерческий раздел     |    Отзывы
Создам плагин , модуль под заказ для VirtueMart , JoomShopping
*

genius

  • Осваиваюсь на форуме
  • 28
  • 2 / 0
Закоментировал, все равно выводит только заданый в настройках раздел
*

draff

  • Живу я здесь
  • 3626
  • 234 / 6
  • Ищу работу
Кеш ? Можно проверить после загрузки разделов.
Код
$section = modQCategoriesHelper::_loadSection($params);
var_dump($section);

Удалю вирус с сайта. Обновление Joomla!, JoomShopping, Virtuemart -> Коммерческий раздел     |    Отзывы
Создам плагин , модуль под заказ для VirtueMart , JoomShopping
*

genius

  • Осваиваюсь на форуме
  • 28
  • 2 / 0
Ниже еще был код:
Код
$query = 'SELECT a.*, COUNT( b.id ) AS numitems,' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug'.
' FROM #__categories AS a' .
' LEFT JOIN #__content AS b ON b.catid = a.id'.
$xwhere2 .
' WHERE a.section = '.(int) $params->get('section_id',0).
$xwhere.
$access_check .
' GROUP BY a.id'.$empty_sec .
' ORDER BY '. $orderby;
$db->setQuery($query);
$categories = $db->loadObjectList();
return $categories;
}
function _limitDescr($descr,&$params) {
$r = $descr;

switch((int)$params->get('cut_description',0)) {
case 1:
if(preg_match('#^(<p>|<br />|\s)*(.*?\.)(\s|</p>|<br />|$)#',$r,$m)) {
$r = $m[2];
}
break;
case 2:
if(preg_match('#^(<p>|<br />|\s)*(.*?)(</p>|<br /><br />|$)#',$r,$m)) {
$r = $m[2];
}
}
return $r;
}
}
Закоментировал строки и модуль вывел все категории по алфавиту
Код
$xwhere2 .
' WHERE a.section = '.(int) $params->get('section_id',0).
Теперь хочу допилить чтобы выводил категории только на определенную букву, есть мысли как это сделать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести список новых статьи?

Автор maxo127

Ответов: 4
Просмотров: 1136
Последний ответ 16.06.2018, 02:44:50
от maxo127
Вопрос о правильности разметки тегами на странице

Автор dpy1995

Ответов: 10
Просмотров: 4587
Последний ответ 09.01.2018, 12:49:25
от kungurskiy
Удалить все ключевые слова из всех статей

Автор AzMandius

Ответов: 2
Просмотров: 619
Последний ответ 16.05.2017, 00:18:51
от AzMandius
Заголовок страницы вида Имя материала / имя категории / имя раздела /

Автор rubasket

Ответов: 2
Просмотров: 11425
Последний ответ 24.03.2017, 01:13:50
от mbgr
Разделы и категории + навигация

Автор Sareth

Ответов: 4
Просмотров: 1523
Последний ответ 22.12.2016, 14:22:26
от drVadz