Описание бага:
Создаем пункт меню назовем Работа и Вакансии, делаем тип меню "ссылка" например на раздел Работа в доске объявлений. Например сайт/board/10.
Добавляем модуль(просто текст), он должен отображаться только для пункта меню "Работа и Вакансии", т.е. указываем пункт меню и позицию.
проверяем… модуль не появляется!
Я как бы решил проблему, только вот интересно это у меня так или у всех?
в багтрекер не пущает, добавить не могу!
если кому интересно, могу рассказать как!
#1
20 октября 2011 в 22:12
только теперь перестал работать переключатель в модуле — Не показывать на вложенных страницах...
но так даже лучше)
но так даже лучше)
#3
20 октября 2011 в 23:23
все, теперь и переключатель работает!
Сегодня в 18:22
#4
20 октября 2011 в 23:28
Croakerx64, сами с собой тут? :)
Видимо стоит прояснить проблему подробнее.
Видимо стоит прояснить проблему подробнее.
#5
20 октября 2011 в 23:45
ага!)
а теперь подробнее
есть в главном меню пункт Объявления
у него есть подменю — Работа и вакансии у этого пункта меню стоит linktype = ссылка например /board/10 (на подпункт работа в объявлениях)
и если теперь хочется чтобы какой-то модуль например "пользовательский" (содержит только какой-то текст), ну в принципе неважно какой модуль, хоть погода появлялся только при показе только этого подпункта меню "Работа и вакансии". — не работает
в принципе проблему решил, хочется чтоб в дистрибутиве(или в обновлении) было исправлено
P.S. кстати еще сделал возможность для модуля показаться только на вложенных страницах от текущей
(например поиск пользователей в списке пользователей не нужен, а внутри в профиле пользователя — нужен)
а теперь подробнее
есть в главном меню пункт Объявления
у него есть подменю — Работа и вакансии у этого пункта меню стоит linktype = ссылка например /board/10 (на подпункт работа в объявлениях)
и если теперь хочется чтобы какой-то модуль например "пользовательский" (содержит только какой-то текст), ну в принципе неважно какой модуль, хоть погода появлялся только при показе только этого подпункта меню "Работа и вакансии". — не работает
в принципе проблему решил, хочется чтоб в дистрибутиве(или в обновлении) было исправлено
P.S. кстати еще сделал возможность для модуля показаться только на вложенных страницах от текущей
(например поиск пользователей в списке пользователей не нужен, а внутри в профиле пользователя — нужен)
#6
20 октября 2011 в 23:50
кстати еще сделал возможность для модуля показаться только на вложенных страницах от текущей
вы меня удивляете все больше) Ииии, дальше что?) А я сегодня полный бак бензина заправил — примерно так читаются ваши посты))
если все равно не поняли, напишу прямо: решение в студию!)
решение
1. лечим баг прямых ссылок
в файле cms.php
делаем вот так
2. добавляем возможность модулю показываться только на вложенных страницах
добавляем поле show_only_on_nested со значением по умолчанию 0 в таблицу cms_modules,
настройка этого пункта только руками — тем модулям, которые нужно показывать только на вложенных страницах ставим в это поле значение 1. Кому надо могут сами изменить админку для настройки модулей
в файле
page.class.php
1. лечим баг прямых ссылок
в файле cms.php
делаем вот так
//полное совпадение ссылки и адреса? // СТРОЧКИ НИЖЕ ДОБАВЛЯЕМ $furi="http://".$_SERVER['HTTP_HOST'].$uri; if (($uri == $item['link'])||($furi == $item['link'])){ // ЭТУ ВЫКЛЮЧАЕМ if (($uri == $item['link'])){ $menuid = $item['id']; $is_strict = true; //полное совпадение break; }
добавляем поле show_only_on_nested со значением по умолчанию 0 в таблицу cms_modules,
ALTER TABLE 'cms_modules' ADD 'show_only_on_nested' TINYINT( 4 ) DEFAULT '0' NOT NULL AFTER 'is_strict_bind'
в файле
page.class.php
// Проверяем права доступа if (!$inCore->checkContentAccess($mod['access_list'])) { continue; } // ДОБАВЛЯЕМ 1 СТРОЧКУ НИЖЕ ////////// if (($mod['show_only_on_nested']==1)&&($inCore->isMenuIdStrict()==1)) { continue; } ////////////////////////////////////// $modulefile = PATH.'/modules/'.$mod['content'].'/module.php'; if (!$mod['user']) { cmsCore::loadLanguage('modules/'.$mod['content']); }
и все-таки это у меня проблема такая с модулями или у всех??? )
#9
21 октября 2011 в 00:01
ну вот и замечательно. Завтра детально рассмотрю данное предложение и возможно внесем в 1.8.1.
#10
22 марта 2015 в 20:41
а что если при запросе происходит ошибка?
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''cms_modules' ADD 'show_only_on_nested' TINYINT( 4 ) DEFAULT '0' NOT NULL AFTER ' at line 1