Как создать модуль?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 2 декабря 2013 в 16:40
Посмотрите на этот код: файл module.php
  1. <?php
  2.  
  3. function mod_citation($module_id, $cfg){
  4.  
  5. $inCore = cmsCore::getInstance();
  6. $inDB = cmsDatabase::getInstance();
  7.  
  8. cmsCore::loadModel('citation');
  9. $model = new cms_model_citation();
  10. $cats = $model->getCats();
  11.  
  12. $smarty = $inCore->initSmarty('modules', 'mod_citation.tpl');
  13. $smarty->assign('cats', $cats);
  14. $smarty->assign('cfg', $cfg);
  15. $smarty->display('mod_citation.tpl');
  16.  
  17. return true;
  18.  
  19. }
  20.  
  21. ?>
файл mod_citation.tpl
  1. {if !$cats}
  2. <h3>Категории не найдены!!!</h3>
  3. {/if}
  4.  
  5. {else}
  6.  
  7. {foreach key=id item=cat from=$cats}
  8.  
  9. <ul>
  10. <li><a href="/citation/view/{$cat.id}">{$cat.title}</a></li>
  11. </ul>
  12.  
  13. {/foreach}
  14.  
  15. {/if}
  16.  
  17. 1234
файл install.php
  1. <?php
  2. $inCore = cmsCore::getInstance();
  3. $inDB = cmsDatabase::getInstance();
  4.  
  5. function info_module_mod_citation(){
  6. $_module['title'] = 'Категории';
  7. $_module['name'] = 'Категории цитаты';
  8. $_module['description'] = 'Список категории цитат';
  9. $_module['link'] = 'citation';
  10. $_module['position'] = 'sidebar';
  11. $_module['author'] = 'Evanescence';
  12. $_module['version'] = '1.0';
  13. $_module['config'] = array();
  14. return $_module;
  15. }
  16. function install_module_mod_citation(){
  17. return true;
  18. }
  19. function upgrade_module_mod_citation(){
  20. return true;
  21. }
  22.  
  23. ?>
Результат после установки: Просто выводить зоголовок Категории а вот содержимое нет, даже если бы переменная $cats была пуста то должно же выводить текст (1234) но даже этого нет

что я делаю не так?
#2 2 декабря 2013 в 17:46
Какое содержимое то тут хотите?
  1. {foreach key=id item=cat from=$cats}
  2.  
  3. <ul>
  4. <li><a href="/citation/view/{$cat.id}">{$cat.title}</a></li>
  5. </ul>
  6.  
  7. {/foreach}
#3 2 декабря 2013 в 17:56
WAERZ, а что не так?
#4 2 декабря 2013 в 18:44
Evanescence, не заморачивайтесь, а возмите у меня из профиля генератор модуля и сотворите пустой модуль. Он гарантированно заработает. Чем с ошибками разбираться, лучше их сразу не делать. Затем вставьте в него свои строчки кода. Если не заработает — ищите в своей писанине.
#5 2 декабря 2013 в 19:15

WAERZ, а что не так?

Evanescence
Когда удалится лишний {/if} и все так или иначе заработает на выходе получится довольно таки странный код из кучи <ul><li>, это так и задумано?
#6 2 декабря 2013 в 19:55
Вообщем помог генератор Странника, но в моем коде да, была ошибка в mod_citation.tpl в строке 3 был лишный IF (но все ровно не работает) а если этот неправильный код добавить в модуль из генератора, выдает ошибку а мой просто нечего не выводить… sadТему закрываю
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.