Как обновить модуль для InstantCMS 1.10.6

13 мая 2015 - Feodor
Речь пойдёт о самостоятельном обновление модулей для работы с InstantCMS 1.10.6. Вернее будет упомянута основное, что требуется править в первую очередь. Статья не для мастеров но в помощь рядовому пользователю



В качестве примера возьмём модуль Новые статьи Смотрим Модуль новые статьи для InstantCMS 1.10.6

Откроем файл: /modules/mod_latest/module.php
Обращаем внимание на след строки:
Код PHP:
  1.  
  2. function mod_latest($mod,$cfg)
  3.  
и
Код PHP:
  1.  
  2. cmsPage::initTemplate('modules',$cfg['tpl'])->
  3. assign('articles',$content_list)->
  4. assign('pagebar_module',$pagebar)->
  5. assign('module_id',$mod['id'])->
  6. assign('cfg',$cfg)->
  7. display($cfg['tpl']);
  8.  
Смотрим Модуль новые статьи для InstantCMS 1.10.2 и 1.10.3

Откроем файл: /modules/mod_latest/module.php
Обращаем внимание на след строки:

1.10.2
Код PHP:
  1.  
  2. function mod_latest($module_id)
  3. и
  4. $cfg=$inCore->loadModuleConfig($module_id);
  5.  
1.10.3
Код PHP:
  1.  
  2. function mod_latest($module_id,$cfg)
  3.  

и

1.10.2
Код PHP:
  1.  
  2. $smarty=$inCore->initSmarty('modules','mod_latest.tpl');
  3. $smarty->assign('articles',$content_list);
  4. if($cfg['is_pag'])
  5. $smarty->assign('is_ajax',false);
  6. $smarty->assign('module_id',$module_id);
  7. $smarty->assign('cfg',$cfg);
  8. $smarty->display('mod_latest.tpl');
  9.  
1.10.3
Здесь функция передачи в шаблон, почти такая же как и в 1.10.6
Код PHP:
  1.  
  2. cmsPage::initTemplate('modules','mod_latest')->
  3. assign('articles',$content_list)->
  4. assign('pagebar_module',$pagebar)->
  5. assign('module_id',$module_id)->
  6. assign('cfg',$cfg)->
  7. display('mod_latest.tpl');
  8.  
Можно нечего не менять.
Разве только заменить первую и вторую строки.

Это и есть основные отличия которые нужно учитывать.

Что править? Для обновления модулей до версии InstantCMS 1.10.6 нужно сопоставить выше приведённые строки и исключить различия путем изменения кода.

Соответственно, первое:
Код PHP:
  1.  
  2. function mod_latest($module_id)
  3. и
  4. function mod_latest($module_id,$cfg)
  5.  
меняем на:
Код PHP:
  1.  
  2. function mod_latest($mod,$cfg)
  3.  
следом можно дописать
Код PHP:
  1.  
  2. $module_id=$mod['id'];
  3.  
///Присвоим id, на тот случай, если $module_id встречается в коде модуля не единожды

Если в коде модуля есть строка:
Код PHP:
  1.  
  2. $cfg=$inCore->loadModuleConfig($module_id);
  3.  
удаляем её, она нам больше не нужно.


Второе:

Код передачи данных в шаблон в 1.10.2:
Код PHP:
  1.  
  2. $smarty=$inCore->initSmarty('modules','mod_latest.tpl');
  3. $smarty->assign('articles',$content_list);
  4. if($cfg['is_pag'])
  5. $smarty->assign('is_ajax',false);
  6. $smarty->assign('module_id',$module_id);
  7. $smarty->assign('cfg',$cfg);
  8. $smarty->display('mod_latest.tpl');
  9.  
Заменяем на:
Код PHP:
  1.  
  2. $pagebar=$cfg['is_pag'] ?
  3. cmsPage::getPagebar($total,$cfg['page'],$cfg['newscount'],'javascript:conPage(%page%, '.$mod['id'].')'):'';
  4. cmsPage::initTemplate('modules',$cfg['tpl'])->
  5. assign('articles',$content_list)->
  6. assign('pagebar_module',$pagebar)->
  7. assign('module_id',$mod['id'])->
  8. assign('cfg',$cfg)->
  9. display($cfg['tpl']);
  10.  


Instantcms.ru


Похожие статьи:

Новости разработчиковЗагрузка расширений через админку

Новости разработчиковМодуль аккардион статей

Новости разработчиковАнонс модуля "Поощрение пользователей"

Новости разработчиковКомпонент Сервис Ёлок ver.1.1

Новости разработчиковЗаменяем название компонента, url и т.д. на примере FAQ

Рейтинг: 0 Голосов: 0 472 просмотра
Комментарии (0)

Нет комментариев. Ваш будет первым!