Проблемы в модулях на 1.10.1

 
Посетитель
small user social cms
Медаль
Сообщений: 195
На днях написал модуль "Цитата". На 1.9 и 1.10= работает как надо.
А вот на 1.10.1 прячется. Модуль устанавливается, настраивается, записи через админку вносятся, но на сайте не отображается запрашиваемая из базы данных информация. При этом заголовок показывается.
Переменная $module_id пуста. Но подозреваю, что это не все. Помогите разобраться. Модуль можно скачать и установить, сайту он проблем не приносит. А вот код файла /modules/mod_quote/module.php:
Код PHP:
  1. function mod_quote($module_id){
  2.  
  3. $inCore = cmsCore::getInstance(); // подключаем ядро
  4. $inDB = cmsDatabase::getInstance(); // подключаем базу
  5. $inUser = cmsUser::getInstance(); //подключаем пользователей
  6. $cfg = $inCore->loadModuleConfig($module_id); //подключаем конфиг модуля
  7.  
  8. global $_LANG; //подключаем языковой файл
  9.  
  10. $userid = $inUser->id; //id пользователя
  11. $login = $inUser->login; //логин пользователя
  12. $nickname = $inUser->nickname; //никнейм пользователя
  13.  
  14.  
  15. //код модуля
  16. $orderby = $cfg['orderby'];
  17. $limit = $cfg['limit'];
  18. $justnow = date('Y-m-d H:i:s');
  19. $dateendno = "0000-00-00 00:00:00";
  20.  
  21. $sql = "SELECT * FROM cms_quote
  22. WHERE mod_id = $module_id AND published = 1 AND date <= '$justnow' AND (dateend > '$justnow' OR dateend = '$dateendno')
  23. ORDER BY $orderby
  24. LIMIT $limit
  25. ";
  26. $result = $inDB->query($sql);
  27.  
  28.  
  29. if ($inDB->num_rows($result)){
  30.  
  31. $quote = array();
  32. while($con = $inDB->fetch_assoc($result)){
  33. $next = sizeof($quote);
  34. $quote[$next]['id'] = $con['id'];
  35. $quote[$next]['title'] = $con['title'];
  36. $quote[$next]['text'] = $con['text'];
  37. $quote[$next]['source'] = $con['source'];
  38. $quote[$next]['link'] = $con['link'];
  39. $quote[$next]['date'] = $con['date'];
  40. $quote[$next]['dateend'] = $con['dateend'];
  41. $quote[$next]['ordering'] = $con['ordering'];
  42. }
  43.  
  44. }
  45.  
  46.  
  47.  
  48.  
  49.  
  50. // передаем в шаблон переменные
  51. $smarty = $inCore->initSmarty('modules', 'mod_quote.tpl');
  52. $smarty->assign('LANG', $_LANG); // языковая переменная
  53. $smarty->assign('quote', $quote);
  54. $smarty->assign('cfg', $cfg);
  55. $smarty->display('mod_quote.tpl');
  56.  
  57. return true;
  58.  
  59. }
Редактировалось: 1 раз (Последний: 20 января 2013 в 22:14)
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 829
Если в в теле модуля на сайте выводиться название вашего модуля что то по типу mod_quote тогда проблема в том что не правильно сработала установка модуля, посмотрите в БД в таблице cms_modules для вашего модуля значение столбца is_external (вроде).
Компоненты, модули, шаблоны, разработка на заказ - широкий выбор всего
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 195
maxisoft:

Если в в теле модуля на сайте выводиться название вашего модуля что то по типу mod_quote тогда проблема в том что не правильно сработала установка модуля, посмотрите в БД в таблице cms_modules для вашего модуля значение столбца is_external (вроде).

Нет, модуль устанавливается правильно и заголовок правильный. Проблема однозначно между файлом module.php и движком 1.10.1.
Редактировалось: 1 раз (Последний: 20 января 2013 в 22:34)
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
ОТписываюсь.
Ид модуль получает 100%
Не корректно работало галочка безсрочно. дата окончания выставилась 1970 год.
Поправил ручками дату всё заработало
Посетитель
small user social cms
Медаль
Сообщений: 195
Например, если запрос сделать такого вида:
Код PHP:
  1. $sql = "SELECT * FROM cms_quote
  2. ";
то записи выводятся (ес-но все, без выборки).
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 195
Димитриус:

ОТписываюсь.
Ид модуль получает 100%
Не корректно работало галочка безсрочно. дата окончания выставилась 1970 год.
Поправил ручками дату всё заработало

! Щас-щас гляну
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
У вас проблема вот тут
Код PHP:
  1. if($dateendno == '1'){
  2. $dateend = '0000-00-00 00:00:00';
  3. }
  4.  
  5. $newdate=date('Y-m-d H:i:s', strtotime($date));
  6. $dateend=date('Y-m-d H:i:s', strtotime($dateend));
Когда вы пытаетесь преобразовать 0000-00-00 00:00:00 функцией strtotime
так как в юниксе время исчисления начинается с 1970 года...
Редактировалось: 1 раз (Последний: 20 января 2013 в 22:49)
Посетитель
small user social cms
Медаль
Сообщений: 195
Нет. Не работает (#4). Это наверное у вас 1.10 > 1.10.1 Там работает. Только этот момент надо поправить с датой.
Редактировалось: 1 раз (Последний: 20 января 2013 в 22:49)
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
чистая 1.10.1 работает. выводит
Посетитель
small user social cms
Медаль
Сообщений: 195
Димитриус:
Когда вы пытаетесь преобразовать 0000-00-00 00:00:00 функцией strtotime
так как в юниксе время исчисления начинается с 1970 года...

Момент с датой поправлю, но проблема не в нем. Так тоже не работает.

Код PHP:
  1. $sql = "SELECT * FROM cms_quote
  2. WHERE mod_id = $module_id AND published = 1
  3. ";
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 195
Да. Проблема ТОЧНО с $module_id. Объявляю переменную принудительно перед функцией и внутри нее - все работает.
Код PHP:
  1. $module_id = 88;
  2. function mod_quote($module_id){
  3. $module_id = 88;
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 195
Подскажите где вызывается функция mod_quote($module_id)?
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 195
Вот скрин модуля
Проблемы в модулях на 1.10.1
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 195
Ну что? Что никто не знает откуда вызывается функция модуля? Тобишь код примерно такого содержания: mod_$peremennaya($module_id)
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 195
maxisoft, а вашу проблему удалось решить? Неужели проблема была только в экстернале?
СельхозМолл (сделано на Инстанте 2
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.