Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-02-07 02:30:29

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

breadcrumbs :: «Хлебные крошки»

Плагин, который как я понял многим нужен: четыре человека апнули тему http://ngcms.ru/forum/viewtopic.php?id=425

Наименование: breadcrumbs
Описание: Breadcrumbs (англ. «Хлебные крошки») — элемент навигации по сайту, представляющий собой путь по сайту от его «корня» до текущей страницы, на которой находится пользователь. Представляет собой полосу в верхней части страницы примерно такого вида: Главная страница → Раздел → Подраздел → Текущая страница
Текущая версия: 1.1 [выпуск: 13.11.2011]
Страничка плагина на моем сайте: breadcrumbs :: «Хлебные крошки»
Страничка плагина на сайте CMS: breadcrumbs :: «Хлебные крошки»
Страничка плагина в SVN: breadcrumbs

Версия 1.1 для версии NG CMS 0.9.3, если кто-то еще не обновился и сидит на 0.9.2, то качайте версию плагина 0.3.1

История версий:

[1.1][2011-11-13]
* исправление работы в полной новости

[1.0] [2011-10-25]
+ возможность запрета на вывод полного пути из категорий в новостях
  и категориях
+ плагин теперь в репозитории кода NG CMS
* исправление работы в категориях

[0.4] [2011-10-09]
* плагин обновлен для новой версии 0.9.3
* оптимизация работы, удален новостной фильтр
+ добавлен выбор каталога шаблонов (из директории плагина или
  из шаблона сайта)
+ все переменные вынесены в языковые файлы (если вы хотите перевести
  плагин на отсутствующий язык, пишите на zhukov.alexei@gmail.com)
+ добавлена обработка страницы авторизации
+ добавлена возможность запретить вывод на главной на странице
+ добавлена интеграция с другими плагинами, подробнее в readme 

[0.3.1][2010-02-24]
+ Добавлен обработчик страницы 404, если она генерируется движком

[0.3][2010-02-22]
* Исправлена ошибка, которая возникала в полной новости, если категория, которой принадлежит
новость имела в альтернативном имени символ тире ("-")
* Фикс при работе с пустой категорией none
+ В конфигураторе добавлена возможность самостоятельного задания разделителя

[0.2][2010-02-07]
+ Новая переменная {separator} в шаблоне. Раньше последний разделитель относился к {location_last} и
при задании собственного стиля этой переменной менялся и стиль последнего разделителя;
+ Добавлен вывод плагина uprofile (просмотр и редактирование профиля) и поиска;
+ Изменен вывод заголовка плагинов на собственной странице: если плагин дает корректную информацию,
то выводим ее (например  плагин tags: Главная страница » Облако тегов),
если нет, то выводим название плагина (Главная страница » lastcomments).

[0.1][2010-02-07]
+ Выпуск первой версии

1. За основу был взят placement SwiZZeR'a для 2z, но там больше половины было нерабочего кода. Пришлось переписать все почти заново.

2. Доработал момент, который просили, а именно вывод: Заголовок сайта >> Категория >> Подкатегория >>  Новость.

Как это работает?

Плагин смотрит на новость, если она содержится более чем в одной категории, то выводит Категория 1 ... Категория N.

Если в одной категории, то смотрим есть ли у нее родительская категория, если нет, то выводит Категория 1, если да, то выводим всю цепочку Категория 1 > Подкатегория 1 ... Подкатегория N.

Выводить подкатегории, если новость в нескольких категориях это не ясно, так как дочерними могут быть и пять входящих категорий)) В итоге каша.

3. Добавил фишку: для последнего элемента можно задавать свой стиль, для всех остальных свой

Главная > Категория > Подкатегория > Новость
Главная > Категория > Подкатегория
Главная > Категория
Главная

4. SQL запросов нет, все берется из глобальных массивов.

Тестировал все на локалке, на хост пробиться не могу smile Но вроде все работает.

d63c989b3b971b08b95c11f2fa295df1.png

Отблагодарить меня можно по следующим реквизитам:

e614824e9d2d2593f59bca5c6425db06.png WebMoney: Z185759217217 и R128203457262

8be5d8481d4af767ee206f87929c8a6d.png Яндекс.Деньги: 41001246158060

Изменено Wolverine (2011-11-23 19:20:14)

Не в сети

#2 2010-02-07 11:43:52

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Перенесено в раздел Страницы плагинов


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#3 2010-02-07 11:48:16

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Иван, поправь еще плиз заголовок breadcrumbs У меня нет такой возможности...

Не в сети

#4 2010-02-07 13:22:13

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

[0.2][2010-02-07]
+ Новая переменная {separator} в шаблоне. Раньше последний разделитель относился к {location_last} и
при задании собственного стиля этой переменной менялся и стиль последнего разделителя;
+ Добавлен вывод плагина uprofile (просмотр и редактирование профиля) и поиска;
+ Изменен вывод заголовка плагинов на собственной странице: если плагин дает корректную информацию,
то выводим ее (например  плагин tags: Главная страница » Облако тегов),
если нет, то выводим название плагина (Главная страница » lastcomments).

Не в сети

#5 2010-02-07 13:38:42

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Wolverine, OK


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#6 2010-02-07 18:23:56

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Добавлено отображение "Регистрация нового пользователя" и "Восстановление забытого пароля" Для кого критично - перекачайте архив smile

Не в сети

#7 2010-02-09 01:49:42

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Фикс для статических страниц:

if ($pluginName == "static") $location_last = $params['altname'];

Заменить на

if ($pluginName == "static") $location_last = $SYSTEM_FLAGS['info']['title']['item'];

Не в сети

#8 2010-02-10 11:58:58

coreldraw
Участник
Откуда Ukraine
Зарегистрирован: 2008-10-21
Сообщений: 209
Рейтинг :   

Re: breadcrumbs :: «Хлебные крошки»

Для начала большое спасибо за плагин, который очень нужен!
И вопрос:
dc1b2371165c.jpg
Как конфигурировать? Ссылки на страничку настроек нету... Это у меня такой глюк или я чего-то не понял? В часности меня интересует замена надписи "Главная страница" на другую...

Изменено coreldraw (2010-02-10 12:05:45)

Не в сети

#9 2010-02-10 12:49:26

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Это не глюк, конфигуратора нет, так как конфигурировать по сути нечего smile config.php в архиве валяется от старого placement, забыл его убрать оттуда.

Эта надпись берется из массива $lang['mainpage'], сменить можно в языковом файле движка \engine\lang\russian\common.ini. Строчка mainpage    =    "Главная страница"

Если тебе нужно, чтобы плагин брал значение не из языкового файла, а из своей конфигурации, то могу добавить.

Изменено Wolverine (2010-02-10 12:53:46)

Не в сети

#10 2010-02-18 20:01:19

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Как сделать, чтобы если у новости нету категории, то не отображалась стелочка?

Не в сети

#11 2010-02-18 23:00:20

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

~ 53 строчка:

$location .= $separator.GetCategories(implode(",", $catids), false);

заменить на

if ($params['category'] != 'none') $location .= $separator.GetCategories(implode(",", $catids), false);

Изменено Wolverine (2010-02-18 23:01:52)

Не в сети

#12 2010-02-21 20:19:47

Knopik
Разработчик
Откуда ufa
Зарегистрирован: 2009-10-14
Сообщений: 353
Рейтинг :   62 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Wolverine, можно ли стрелочку вывести в конфиг?

Не в сети

#13 2010-02-21 20:27:22

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Можно, как раз на подходе новая версия smile А пока можно и в коде поменять ~32 строка

$separator = ' → ';

Не в сети

#14 2010-02-22 14:46:33

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

[0.3][2010-02-22]
* Исправлена ошибка, которая возникала в полной новости, если категория, которой принадлежит
новость имела в альтернативном имени символ тире ("-") ( http://ubop.net.ua/novosti-ukrainy/sud-razreshil-timoshenko-zabrat-isk.html )
* Фикс при работе с пустой категорией none
+ В конфигураторе добавлена возможность самостоятельного задания разделителя

Работа протестирована на портале Убойного политотдела

Изменено Wolverine (2010-02-22 14:51:13)

Не в сети

#15 2010-02-24 13:17:48

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

[0.3.1][2010-02-24]
+ Добавлен обработчик страницы 404, если она генерируется движком

Не в сети

#16 2010-02-26 14:18:01

KhadeR
Участник
Зарегистрирован: 2009-09-16
Сообщений: 207
Рейтинг :   17 

Re: breadcrumbs :: «Хлебные крошки»

еще можно добавить обработку отдельной страницы входа на сайт, т.е. ~97 строчка добавить [0.3.1]:

elseif ($SYSTEM_FLAGS['info']['title']['group'] == $lang['loc_login'])
		$location_last = $SYSTEM_FLAGS['info']['title']['group'];

Не в сети

#17 2010-02-26 14:27:51

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Правильнее будет заменить 101 строчку с

elseif ($pluginName == 'core' && ($CurrentHandler['handlerName'] == 'registration' || $CurrentHandler['handlerName'] == 'lostpassword'))

на

elseif ($pluginName == 'core' && ($CurrentHandler['handlerName'] == 'registration' || $CurrentHandler['handlerName'] == 'lostpassword' || $CurrentHandler['handlerName'] == 'login'))

Не в сети

#18 2010-02-26 14:47:11

KhadeR
Участник
Зарегистрирован: 2009-09-16
Сообщений: 207
Рейтинг :   17 

Re: breadcrumbs :: «Хлебные крошки»

несомненно так лучше )) thx

Не в сети

#19 2010-03-20 16:53:08

torg
Участник
Откуда Россия
Зарегистрирован: 2009-04-23
Сообщений: 130
Сайт

Re: breadcrumbs :: «Хлебные крошки»

В шапке темы не вижу:
[0.04][2009-05-16]
% Плагин адаптирован для работы с NG CMS 0.9.1

Себе поставил версию 0.3.1. Сделал как написано в сообщении #17.
Пример на сайте soft.torg.su. Не знаю тянет ли это на 0.04 версию.

Изменено torg (2010-03-20 17:18:51)

Не в сети

#20 2010-03-20 16:58:40

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Плагин вышел [2010-02-07] и сразу под 0.9.1. Зачем его адаптировать? smile

Не в сети

#21 2010-03-20 17:30:06

torg
Участник
Откуда Россия
Зарегистрирован: 2009-04-23
Сообщений: 130
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Wolverine, С этим я

Show news archive     Виджет     0.04

попутал smile

Мой вариант breadcrumbs.tpl:

<div style="margin: 0; padding: 0; font: bold 12px verdana, georgia; border: dashed lightgreen; border-width: 1px 0;"> 
{location} {separator} <i>{location_last}</i></div>

Wolverine, подскажите как можно сделать, чтобы последний путь был активен. Я доволен.

Изменено torg (2010-03-20 18:08:21)

Не в сети

#22 2010-03-20 18:51:33

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: breadcrumbs :: «Хлебные крошки»

torg пишет:

когда посомтрел историю в нём там написано о версии 0.04

В истории нет таких циферок smile 0.1 > 0.2 > 0.3 > 0.3.1

torg пишет:

подскажите как можно сделать, чтобы последний путь был активен

Для новостей, категорий и календаря (для статики надо отдельный фильтр писать, неохота этим сейчас заниматься):

breadcrumbs.php

1. ~50 строчка

$main_page = ($pluginName == 'core' || $pluginName == 'static' || $pluginName == 'uprofile' || $pluginName == 'search' || $params['category'] || $params['plugin'] || $params['year'] || $params['month'] || $params['day'])?'<a href="'.$config['home_url'].'" title="'. $lang['mainpage'] .'">' .$lang['mainpage']. '</a>':$lang['mainpage'];

заменить на

$main_page = '<a href="'.$config['home_url'].'" title="'. $lang['mainpage'] .'">' .$lang['mainpage']. '</a>';

2. ~59 строчка

$tmp_1 = GetCategories($catz[$params['category']]['id'], true);

заменить на

$tmp_1 = GetCategories($catz[$params['category']]['id'], false);

3. ~68 строчка

else $location_last = GetCategories($catz[$params['category']]['id'], true);

заменить на

else $location_last = GetCategories($catz[$params['category']]['id'], false);

4. ~72 строчка

$year = (!$params['month'])?$params['year']:'<a href="'.generateLink('news', 'by.year', array('year' => $params['year'])).'" title="'.$params['year'].'">'.$params['year'].'</a>';

заменить на

$year = '<a href="'.generateLink('news', 'by.year', array('year' => $params['year'])).'" title="'.$params['year'].'">'.$params['year'].'</a>';

5. ~74 строчка

$month = (!$params['day'])?$month_p:'<a href="'.generateLink('news', 'by.month', array('year' => $params['year'], 'month' => $params['month'])).'" title="'.$params['month'].'">'.$month_p.'</a>';

заменить на

$month = '<a href="'.generateLink('news', 'by.month', array('year' => $params['year'], 'month' => $params['month'])).'" title="'.$params['month'].'">'.$month_p.'</a>';

6. ~75 строчка

$day = $params['day'];

заменить на

$day = '<a href="'.generateLink('news', 'by.day', array('year' => $params['year'], 'month' => $params['month'], 'day' => $params['day'])).'" title="'.$params['day'].'">'.$params['day'].'</a>';;

7. ~141 строка

$location_last = $SQLnews['title'];

заменить на

$location_last = '<a href='.newsGenerateLink($SQLnews).'>'.$SQLnews['title'].'</a>';

8. ~154 строка

$location_last = $SQLnews['title'];

заменить на

$location_last = '<a href='.newsGenerateLink($SQLnews).'>'.$SQLnews['title'].'</a>';

В аттаче уже измененный файл

Изменено Wolverine (2010-03-20 18:52:42)

Не в сети

#23 2010-03-21 15:38:33

torg
Участник
Откуда Россия
Зарегистрирован: 2009-04-23
Сообщений: 130
Сайт

Re: breadcrumbs :: «Хлебные крошки»

Wolverine пишет:

В истории нет таких циферок smile 0.1 > 0.2 > 0.3 > 0.3.1

Я выше ответил smile

В аттаче уже измененный файл

Благодарю за труд.

Не в сети

#24 2010-09-27 02:12:24

staric
Участник
Зарегистрирован: 2010-09-09
Сообщений: 96
Рейтинг :   

Re: breadcrumbs :: «Хлебные крошки»

Как изменить разделитель на стрелочку картинку? Т.е. на картинку со стрелочкой.

Не в сети

#25 2010-09-27 02:16:26

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: breadcrumbs :: «Хлебные крошки»

staric, тебе фоном или нет?

Не в сети

Подвал раздела

Работает на FluxBB