Форум Joomla! Україна
Як до пунктів меню у дужках прописати кількість матеріалів? - Версія для друку.

+- Форум Joomla! Україна (https://joomla-ua.org/forum)
+-- Форум: Старі версії Joomla (https://joomla-ua.org/forum/forum-31.html)
+--- Форум: Joomla! 1.5 (https://joomla-ua.org/forum/forum-21.html)
+--- Тема: Як до пунктів меню у дужках прописати кількість матеріалів? (/thread-2036.html)



Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 23.10.2015

Вітання! Підкажіть будь-ласка, як до кожного пункту меню, яким відповідає певна категорія, у дужках прописати кількість матеріалів. Наприклад:

Авто (20)
Ігри (10)
Музика (40)

Буду дуже вдячний за будь-яку відповідь, перелистав безліч інформації, але як це зробити саме в J 1.5 на шаблоні Ja Purity не знайшов.


Як до пунктів меню у дужках прописати кількість матеріалів? - Dutch - 23.10.2015

Готового рішення — лише писати модуль.

Відправлено через 1 хвилину 26 секунди:
Є стандартний модуль який відображає категорії і у ньому, здається є кількість статей, але потрібно дивитися, можливо помиляюся.


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 24.10.2015

Стандартного модуля я не знайшов. Теоретично можна вставити лічильник матеріалів категорії в дужки. Але де цей скрипт і куди його вставляти - я собі поки що не уявляю.


Як до пунктів меню у дужках прописати кількість матеріалів? - Dutch - 02.11.2015

Я мав на увазі стандартний модуль Джумла «Статті. Категорії»!

Там є наступні параметри:
  • Показати кількість статей
  • Показувати підкатегорії
  • а також можна обрати кореневу категорію, кількість перших категорій та максимальну глибину рівня



Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 02.11.2015

Але там не має параметру, як в дужках вказати кількість матеріалів категорії.


Як до пунктів меню у дужках прописати кількість матеріалів? - Dutch - 02.11.2015

DRLU Написав:Але там не має параметру, як в дужках вказати кількість матеріалів категорії.

Перепрошую, цей модуль э в Джумла 3!

Відправлено через 1 хвилину 39 секунди:
Взагалі Джумла 1.5 вже не підтримується э велика загроза, що вас можуть взламати.

Рекомендую мігрувати/оновити сайт на Джумла 3.х!!!

Тут і розширень буду більше й можливо на JED вже є подібна реалізація у більш розгорнутому вигляді!


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 02.11.2015

І що, цей модуль зробить те, що я хочу? Взагалі-то, я користувався довгий час Joomla 2.5, і не проти перейти на 3-тю версію, однак шаблон, який я використовую Ja purity адаптований під 1,5. Тому, думаю, оновлення буде хворобливим для сайту, для модулів. А щодо взлому, я чув, що її не так легко хакнути, ніж останні версії. Чи це не правда?


Як до пунктів меню у дужках прописати кількість матеріалів? - Dutch - 02.11.2015

DRLU Написав:А щодо взлому, я чув, що її не так легко хакнути, ніж останні версії. Чи це не правда?
Ні. це не правда. Джумла 1.5 дуже болюча у цьому плані, адже оновлень не виходить для неї, а розробники не оновлюють розширення під цю версію.
Тобто якщо не джумлу хакнуть, то одне зі сторонніх розширень!

Оновити шаблон не так вже й важко під будь-яку версію!


Як до пунктів меню у дужках прописати кількість матеріалів? - olkolon - 02.11.2015

Лучше перейти на Джумлу 3. Шаблоны есть похожие, JA T3 Blank и другие. Модули многие хоть и не пишут разработчики, но работают и с 3-й. А много уже более лучших для Джумлы 3 разработанных.

Відправлено через 1 хвилину 48 секунди:
Dutch Написав:А щодо взлому, я чув, що її не так легко хакнути, ніж останні версії. Чи це не правда?
Ні. це не правда. Joomla 1.5 дуже болюча у цьому плані, адже оновлень не виходить для неї, а розробники не оновлюють розширення під цю версію.
Тобто якщо не джумлу хакнуть, то одне зі сторонніх розширень!

Оновити шаблон не так вже й важко під будь-яку версію![/quote]

100%. После взлома сторонних приложений (имели дыры и не обновлялись) перешел в свое время на 2.5, а потом на 3...


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 02.11.2015

Dutch Написав:Оновити шаблон не так вже й важко під будь-яку версію!

Не так вже й важко, це клацнути на кнопку "Оновити" і отримати оновлену Joomla 3, з усіма збереженими модулями, плагінами, компонентами??
olkolon Написав:100%. После взлома сторонних приложений перешел в свое время на 2.5, а потом на 3...

Наприклад? В чому полягали взломи?


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 02.11.2015

Шаблон тут абсолютно не причем.
Если меню строится при помощи стандартного модулю меню, смотрите файлы в каталогах
Цитата:templates/ваш_шаблон/html/mod_menu
или (если в шаблоне сайта шаблон модуля не переопределен)
Цитата:modules/mod_menu/tmpl

Для 1,5 точно не скажу, нет под рукой, а разворачивать лень, в 3-ке смотрим файл
Цитата:default_component.php

Ищем, где прописываются href для ссылок.
В 3-ке это выглядит так:
Код:
.... href="<?php echo $item->flink; ?>" ...

Далее, все как обычно: проверка ссылки на view=category (чтобы не делать запросы, например для ссылки на один материал), получение id-категории, запрос в БД, вывод результата.

Думаю, за час-другой напишите без проблем. Хотя не представляю, что дает такая плюшка, кроме лишних запросов в базу.


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 02.11.2015

minamo Написав:modules/mod_menu/tmpl

У мене такої теки узагалі нема. Я використовую шаблон Ja Purity. Натомість є тека modules/mod_mainmenu/tmpl/default.php - і тут нема даного коду:
Цитата:.... href="<?php echo $item->flink; ?>" ...



Як до пунктів меню у дужках прописати кількість матеріалів? - Dutch - 02.11.2015

DRLU Написав:Не так вже й важко, це клацнути на кнопку "Оновити" і отримати оновлену Joomla 3, з усіма збереженими модулями, плагінами, компонентами??
Для початку непогано оновити усі розширення для своєї версії Джумла, скажімо це версія 2.5.
Далі добре було б відключити системні плагіни сторонніх розширень, а то й інших груп.
Звичайно це все потрібно робити локально!
Окрім розширень не забудьте оновити шаблон!

Мінімум ми зробили й можемо почати оновлення до Джумла 3.

Після того як оновлено сайт йдемо до менеджера оновлень Джумла, знищуємо кеш оновлень і встановлюємо оновлення які могли прийти під нову лінійку системи.

Далі переглядаємо які розширення не оновлені і звертаємося до сайтів розробників. Якщо розширення розвивається, то є ймовірність того, что під Джумла 3 ви знайдете нові версії. Встановлюємо їх.

Ну, а тепер починаємо вмикати плагіни один за одним.

Якщо ж у вас виникла помилка або білий екран, то маємо конфлікт з плагіном. У цьому випадку можна перейменувати теку з плагіном, наприклад поставити на початку назви теки нижнє підкреслення. В адмінці тоді підключаємо цей плагін і розбираємося у чому річ. Можливо плагін чи розширення не підтримується на Джумла 3, тоді на JED необхыдно шукати аналоги.

Взагалі міграція на Джумла 3 займає хвилин 10 для великих проектів і менше 2 хвилин для простеньких сайтів.


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 03.11.2015

DRLU Написав:modules/mod_mainmenu/tmpl/default.php
Значит, разбирайтесь с кодом этого файла


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 03.11.2015

Dutch Написав:Для початку непогано оновити усі розширення для своєї версії Joomla, скажімо це версія 2.5.
Далі добре було б відключити системні плагіни сторонніх розширень, а то й інших груп.
Звичайно це все потрібно робити локально!
Окрім розширень не забудьте оновити шаблон!

Сайт щодня відвідує тисячі людей, якщо я почну зараз вищеперелічені дії, то це вплине на його роботу. Є модулі, котрі на Joomla 3 знайти неможливо, або принаймні треба дуже довго постаратися, щоб їх знайти. Оновлений шаблон - це теж проблеми, тому що його потрібно оптимізувати. Саме, зі згаданих причин, я вирішив не оновлюватись і зберегти все як є, тим більше все стабільно працює. Та й мені, чесно кажучи, навіть інтерфейс адмінки трійки не подобається, в J 1,5 все набагато виваженіше. А з дірами я попрацюю, думаю можна їх якось заблокувати.


Як до пунктів меню у дужках прописати кількість матеріалів? - Dutch - 04.11.2015

Так ви ж не на живому сайті це робіть! Зробіть бекап і локально мігруйте на Джумла 3. Подивіться чи все працює. Потім перенесіть на піддомен та поюзайте на налаштуваннях сервера, ну і вже потім можна сміливо зносити старий сайт та з піддомену перенести на основний.

Ну або найміть профі для міграції, який вам все це зробить за винагороду та зекономить ваш час!

Можете дати оголошення в форумі Робота та співпраця знайдуться ті хто допоможе у вирішені проблеми!


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 04.11.2015

Добре, я подумаю над цим. Але давайте повертемось до теми. Чи можлива така реалізація лічильника матеріалів категорії в меню на Joomla 1.5? Я знаю, що можлива, може хтось поділиться кодом чи ідеями, окрім вже висловлених?


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 05.11.2015

DRLU Написав:Добре, я подумаю над цим. Але давайте повертемось до теми. Чи можлива така реалізація лічильника матеріалів категорії в меню на Joomla 1.5? Я знаю, що можлива, може хтось поділиться кодом чи ідеями, окрім вже висловлених?

По теме - Вам предложили схему реализации, осталось только разобраться с модулем меню и дописать код.


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 05.11.2015

minamo Написав:По теме - Вам предложили схему реализации, осталось только разобраться с модулем меню и дописать код.
Схему реалізації я знав й сам, а конкретно куди вписувати, у який файл для моєї версії Joomla і шаблону - ніхто точно не підказав.


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 05.11.2015

DRLU Написав:По теме - Вам предложили схему реализации, осталось только разобраться с модулем меню и дописать код.
Схему реалізації я знав й сам, а конкретно куди вписувати, у який файл для моєї версії Joomla і шаблону - ніхто точно не підказав.[/quote]
minamo Написав:осталось только разобраться с модулем меню и дописать код.



Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 06.11.2015

minamo Написав:осталось только разобраться с модулем меню и дописать код.

Так, власне, де шукати цей модуль меню, підкажіть. Smile


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 06.11.2015

Вы вообще читаете, что Вам пишут?

minamo Написав:Шаблон тут абсолютно не причем.
Если меню строится при помощи стандартного модулю меню, смотрите файлы в каталогах
Цитата:templates/ваш_шаблон/html/mod_menu
или (если в шаблоне сайта шаблон модуля не переопределен)
Цитата:modules/mod_menu/tmpl

Еще раз:
корневой каталог / modules - лежат ВСЕ модули, которые выводятся на фронте
корневой каталог / plugins - плагины
корневой каталог / components - компоненты
Если шаблоны переопределены в шаблонах, компоненты/модули, могут располагаться в папке шаблона:
корневой каталог / templates / название шаблона / html / расширение
например, корневой каталог / templates / название шаблона / html / com_content - шаблоны компонента com_content


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 06.11.2015

DRLU Написав:У мене такої теки узагалі нема. Я використовую шаблон Ja Purity. Натомість є тека modules/mod_mainmenu/tmpl/default.php - і тут нема даного коду



Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 07.11.2015

тяжелый случай: сказали где искать, что искать, но вот беда, буквы в названии не совпадают


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 07.11.2015

minamo Написав:тяжелый случай: сказали где искать, что искать, но вот беда, буквы в названии не совпадают

Розумієте, мені треба точну підказку. Я і сам можу в теорії багато написати. Благо - є ґуґл.


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 08.11.2015

Куда еще точнее? Все рассказали, даже гуглить не нужно, осталось открыть файлы модуля, который Вы используете, посмотреть как формируются пункты меню и дописать код.

Не умеете,не знаете или не хотите вникать - приложите архив с Вашим модулем меню. Ставить 1,5, чтобы ткнуть пальцем в какой строке и в каком файле Вам нужно искать, уж извините... нужно же Вам?!


Як до пунктів меню у дужках прописати кількість матеріалів? - DRLU - 08.11.2015

Звичайно, тільки мені, тому прикріпляю архів. Подивіться, будь-ласка. Архів з меню: http://www.ex.ua/view/95566583


Як до пунктів меню у дужках прописати кількість матеріалів? - minamo - 09.11.2015

См. helper.php, в частности function _getItemData()

[spoiler=строки 325-343 (тип пункта меню)]
Код:
        switch ($tmp->type)
        {
            case 'separator' :
                return '<span class="separator">'.$image.$tmp->name.'</span>';
                break;

            case 'url' :
                if ((strpos($tmp->link, 'index.php?') === 0) && (strpos($tmp->link, 'Itemid=') === false)) {
                    $tmp->url = $tmp->link.'&amp;Itemid='.$tmp->id;
                } else {
                    $tmp->url = $tmp->link;
                }
                break;

            default :
                $router = JSite::getRouter();
                $tmp->url = $router->getMode() == JROUTER_MODE_SEF ? 'index.php?Itemid='.$tmp->id : $tmp->link.'&Itemid='.$tmp->id;
                break;
        }
[/spoiler]

[spoiler=строки 358-377 (формирование ссылки пунка меню)]
Код:
            switch ($tmp->browserNav)
            {
                default:
                case 0:
                    // _top
                    $data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
                    break;
                case 1:
                    // _blank
                    $data = '<a href="'.$tmp->url.'" target="_blank" rel="noopener nofollow">'.$image.$tmp->name.'</a>';
                    break;
                case 2:
                    // window.open
                    $attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open');

                    // hrm...this is a bit dickey
                    $link = str_replace('index.php', 'index2.php', $tmp->url);
                    $data = '<a href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
                    break;
            }
[/spoiler]