Новости Joomla

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

balancer

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Всем доброго дня,

на сайте имеется глобальная родительская категория первого уровня, в ней лежат дочерние категории с брендами и прочими категориями. При выводе модуля меню отображается так Глобальная категория > выпадающий список с дочерними категориями. Вопрос, нельзя ли сразу вывести все дочерние категории, в обход родительской?

более наглядно, можно ли сделать так, чтобы подкатегории BenQ и DTECH были на месте Компьютерных комплектующих?
« Последнее редактирование: 18.02.2014, 15:12:18 от balancer »
*

skyrec

  • Захожу иногда
  • 382
  • 10 / 0
  • Люблю я детей !!!
Re: Вывод дочерних категорий в меню
« Ответ #1 : 18.02.2014, 15:15:44 »
Я думаю можно, надо поковырять условия вывода категорий в шаблоне модуля.
*

balancer

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод дочерних категорий в меню
« Ответ #2 : 18.02.2014, 15:28:57 »
Установлен модель JSE Megamenu, шаблон выглядит так
Код
<?php
/**
 * @version $Id$
 * @author Joomseller
 * @package Joomla.Site
 * @subpackage mod_jse_jp_megamenu
 * @copyright Copyright (C) 2008 - 2013 Joomseller. All rights reserved.
 * @license License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
 */

// no direct access
defined('_JEXEC') or die('Restricted access');
print_r($menu);
?>

<div id="jsejp_mm_<?php echo $module->id ?>" class="jsejp-megamenu <?php echo $menuStyle?> ">
<button class="button-bar" type="button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="javascript:void(0)"><?php echo JText::_('JSE_jp_MEGAMENU_MENU')?></a>
<?php
if (!file_exists(JPATH_SITE.'/components/com_jshopping')){
echo  '<div style="float: left;color:red">This module can not work without the JoomShopping Component</div>';
}else{
$megamenu = new JPMegamenu();
list($menu,$order) = $megamenu->render($params,true);
echo $menu;
}

?>
</div>

попробую сделать как вы посоветовали. спасибо.

Может кто-нибудь еще с этим сталкивался?
*

lesh1j

  • Захожу иногда
  • 257
  • 35 / 0
Re: Вывод дочерних категорий в меню
« Ответ #3 : 18.02.2014, 20:46:02 »
Вот простейший модуль, который выведет только дочерние категории, если нужны дополнительные функции, пиши, доделаю
не нашел, как прикрепить файл поэтому, выложу код, там всего 5 файлов
Структура:
language/ru-RU/ru-RU.mod_parentcat.ini
tmpl/default.php
mod_parentcat.php
mod_parentcat.xml
helper.php

файл language/ru-RU/ru-RU.mod_parentcat.ini
Код
MOD_PARENTCAT="дочерние категории joomshoping"
MOD_PARENTCAT_XML_DESCRIPTION="Описание модуля дочерние категории joomshoping"

файл tmpl/default.php
Код
<?php
// No direct access.
defined('_JEXEC') or die('(@)|(@)');
?>
<ul class="pc_list">
<?php
foreach ($categories as $category) {
$link = SEFLink('index.php?option=com_jshopping&controller=category&task=view&category_id='.$category->id, 1);
echo '<li class="pc_item_list"><a href="'.$link.'">'.$category->name.'</a></li>';
}
?>
</ul>

файл mod_parentcat.php
Код
<?php
// No direct access.
defined('_JEXEC') or die('(@)|(@)');

require_once dirname(__FILE__).'/helper.php';
$categories = modParentcatHelper::getParentcategory($params);

require JModuleHelper::getLayoutPath('mod_parentcat', $params->get('layout', 'default'));

файл mod_parentcat.xml
Код
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" method="upgrade">
<name>mod_parentcat</name>
<creationDate>February 2014</creationDate>
<author>BelNet</author>
<authorEmail>info@belnet.by</authorEmail>
<authorUrl>http://www.belnet.by</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
        <version>1.0.0</version>
        <description>MOD_PARENTCAT_XML_DESCRIPTION</description>
        <files>
                <filename module="mod_parentcat">mod_parentcat.php</filename>
                <filename>mod_parentcat.xml</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<folder>tmpl</folder>
        </files>
<languages folder="language">
<language tag="ru-RU">ru-RU/ru-RU.mod_parentcat.ini</language>
</languages>
</extension>

файл helper.php
Код
<?php
// No direct access.
defined('_JEXEC') or die('(@)|(@)');

class modParentcatHelper
{
public static function getParentcategory(&$params)
{
$lang = JSFactory::getLang();

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('`category_id` AS id, `'.$lang->get('name').'` AS name');
$query->from('#__jshopping_categories');
$query->where('category_parent_id > 0');
$query->where('category_publish = 1');
$query->order('ordering DESC');
$db->setQuery($query);

$categories = $db->loadObjectList();

return $categories;
}

}

всё это в архив и уставить как обычный модуль, ну и в каждую папку пустой index.html для защиты от доступа к списку файлов
*

balancer

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод дочерних категорий в меню
« Ответ #4 : 19.02.2014, 09:34:48 »
lesh1j,
спасибо большое, все работает.

Извиняюсь за наглость, если у Вас найдется лишний, не могли бы вы подсказать как реализовать эту чтобы раскрытыми были только категории у которых category_parent_id=0, и применительно к модулю, используемому мной, то есть сейчас выглядит это дело вот так

а можно бы было чтобы остались только 2 категории, Dtech и BenQ, а их дочерние категории из них вываливались. Используемый модуль категории - http://rghost.ru/download/52521913/069bf1191bab564587b3d71c2dbe1090fdce959c/megamenu_1.0.0_JoomShopping_j25j3x.zip

если слишком нагло, то может есть какое-то другое меню, с такими функциями.

В любом случае, большое спасибо
*

zemelea

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Вывод дочерних категорий в меню
« Ответ #5 : 27.09.2014, 14:45:20 »
Вот простейший модуль......
Спасибо за решение! У меня задача немного другая. Нужно получить список всех дочерних подкатегорий текущей категории. Немного подправил helper.php
Код
<?php
// No direct access.
defined('_JEXEC') or die('(@)|(@)');

class modParentcatHelper
{
public static function getParentcategory(&$params)
{
 
                $cid = JRequest::getInt( 'category_id' ); //++
                          
$lang = JSFactory::getLang();

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('`category_id` AS id, `'.$lang->get('name').'` AS name');
$query->from('#__jshopping_categories');
$query->where('category_parent_id > 0');
$query->where('category_publish = 1');
                $query->where('category_parent_id ='.$cid); //++
$query->order('ordering DESC');
$db->setQuery($query);

$categories = $db->loadObjectList();

return $categories;
}

}

Но вот никак не могу понять как удобнее получить не только список подкатегорий на 1 уровень ниже родителя, а все подкатегории. Посмотрел БД, там только 2 колонки за это отвечают: category_id и category_parent_id. Неужели всех детей можно получить только циклом?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод дочерних категорий в меню
« Ответ #6 : 27.09.2014, 15:20:18 »
если быть точнее, то не циклом, а с помощью рекурсии. а почему "неужели только"? что смущает?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zemelea

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Вывод дочерних категорий в меню
« Ответ #7 : 27.09.2014, 16:07:32 »
Смущает то, что я не знаю как это реализовать, чтобы не делать 50 запросов в бд)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод дочерних категорий в меню
« Ответ #8 : 27.09.2014, 18:41:07 »
так сделайте 1 запрос на все категории вместе, а проход уже сделайте на php :) посмотрите, как строится дерево категорий в админке в списке товаров (селект выбора категорий)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Re: Вывод дочерних категорий в меню
« Ответ #9 : 28.02.2017, 20:48:47 »
здравствуйте!
я понимаю, что тема уже давно затихла, то вдруг мне повезет =)
встала такая же задача
Цитировать
Спасибо за решение! У меня задача немного другая. Нужно получить список всех дочерних подкатегорий текущей категории. Немного подправил helper.php
скажите, пожалуйста, а можно ли добавить в этот модуль вывод еще и изображений категории?

заранее спасибо за ответ!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод дочерних категорий в меню
« Ответ #10 : 28.02.2017, 20:52:03 »
category_image добавьте в select
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Re: Вывод дочерних категорий в меню
« Ответ #11 : 28.02.2017, 21:02:17 »
в helper под строку
Код
$query->select('`category_id` AS id, `'.$lang->get('name').'` AS name');
добавила
Код
$query->select('`category_image` AS image');

работает.
только вопрос: правильно так? либо же можно это как-то в одну строку собрать?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод дочерних категорий в меню
« Ответ #12 : 28.02.2017, 21:35:21 »
можно и в одну строку, через запятую. но нет разницы по сути
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль категорий + товары + аккордеон

Автор Efanych

Ответов: 118
Просмотров: 23777
Последний ответ 02.10.2022, 22:04:42
от Biss
Модуль меню каталога JoomShopping - (Готовое решение)

Автор gartes

Ответов: 0
Просмотров: 1405
Последний ответ 15.04.2021, 16:10:57
от gartes
Вывод дополнительных полей с списке подкатегорий

Автор Hvaekar

Ответов: 2
Просмотров: 533
Последний ответ 03.12.2019, 20:40:53
от Hvaekar
Слайдер популярных категорий

Автор misteri27

Ответов: 2
Просмотров: 1044
Последний ответ 08.10.2019, 12:47:16
от misteri27
Модуль вывода списка категорий JoomShopping

Автор Taatshi

Ответов: 7
Просмотров: 6235
Последний ответ 09.05.2018, 17:18:27
от tigra-uki