Баг показа модуля для позиции меню тип

 
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 267
Описание бага:
Создаем пункт меню назовем Работа и Вакансии, делаем тип меню "ссылка" например на раздел Работа в доске объявлений. Например http://сайт/board/10.
Добавляем модуль(просто текст), он должен отображаться только для пункта меню "Работа и Вакансии", т.е. указываем пункт меню и позицию.
проверяем... модуль не появляется!

Я как бы решил проблему, только вот интересно это у меня так или у всех?

в багтрекер не пущает, добавить не могу!

если кому интересно, могу рассказать как!
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 267
только теперь перестал работать переключатель в модуле - Не показывать на вложенных страницах...
но так даже лучше)
Редактировалось: 1 раз (Последний: 20 октября 2011 в 22:44)
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 267
все, теперь и переключатель работает!
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4336
Croakerx64, сами с собой тут? :)

Видимо стоит прояснить проблему подробнее.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 267
ага!)

а теперь подробнее
есть в главном меню пункт Объявления
у него есть подменю - Работа и вакансии у этого пункта меню стоит linktype = ссылка например /board/10 (на подпункт работа в объявлениях)
и если теперь хочется чтобы какой-то модуль например "пользовательский" (содержит только какой-то текст), ну в принципе неважно какой модуль, хоть погода появлялся только при показе только этого подпункта меню "Работа и вакансии". - не работает
в принципе проблему решил, хочется чтоб в дистрибутиве(или в обновлении) было исправлено

P.S. кстати еще сделал возможность для модуля показаться только на вложенных страницах от текущей
(например поиск пользователей в списке пользователей не нужен, а внутри в профиле пользователя - нужен)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4336
Croakerx64:
кстати еще сделал возможность для модуля показаться только на вложенных страницах от текущей

вы меня удивляете все больше) Ииии, дальше что?) А я сегодня полный бак бензина заправил - примерно так читаются ваши посты))

если все равно не поняли, напишу прямо: решение в студию!)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 267
решение
1. лечим баг прямых ссылок
в файле cms.php

делаем вот так
Код PHP:
  1.  
  2. //полное совпадение ссылки и адреса?
  3. // СТРОЧКИ НИЖЕ ДОБАВЛЯЕМ
  4. $furi="http://".$_SERVER['HTTP_HOST'].$uri;
  5. if (($uri == $item['link'])||($furi == $item['link'])){
  6. // ЭТУ ВЫКЛЮЧАЕМ if (($uri == $item['link'])){
  7. $menuid = $item['id'];
  8. $is_strict = true; //полное совпадение
  9. break;
  10. }
  11.  
2. добавляем возможность модулю показываться только на вложенных страницах


добавляем поле show_only_on_nested со значением по умолчанию 0 в таблицу cms_modules,

Код PHP:
  1. ALTER TABLE 'cms_modules' ADD 'show_only_on_nested' TINYINT( 4 ) DEFAULT '0' NOT NULL AFTER 'is_strict_bind'
настройка этого пункта только руками - тем модулям, которые нужно показывать только на вложенных страницах ставим в это поле значение 1. Кому надо могут сами изменить админку для настройки модулей

в файле
page.class.php

Код PHP:
  1.  
  2. // Проверяем права доступа
  3. if (!$inCore->checkContentAccess($mod['access_list'])) { continue; }
  4. // ДОБАВЛЯЕМ 1 СТРОЧКУ НИЖЕ //////////
  5. if (($mod['show_only_on_nested']==1)&&($inCore->isMenuIdStrict()==1)) { continue; }
  6. //////////////////////////////////////
  7. $modulefile = PATH.'/modules/'.$mod['content'].'/module.php';
  8.  
  9. if (!$mod['user']) { cmsCore::loadLanguage('modules/'.$mod['content']); }
  10.  
Редактировалось: 1 раз (Последний: 21 октября 2011 в 00:10)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 267
и все-таки это у меня проблема такая с модулями или у всех??? )
Редактировалось: 1 раз (Последний: 21 октября 2011 в 00:01)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4336
ну вот и замечательно. Завтра детально рассмотрю данное предложение и возможно внесем в 1.8.1.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Сообщений: 2
а что если при запросе происходит ошибка?
Код PHP:
  1. #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
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.