Упрощение выбора шаблона у разделов

Создаем функцию для упрощения выбора шаблонов для разделов.

#1 10 ноября 2014 в 13:41
Здравствуйте, собратья по сообществу InstantCMS.
Пишу первый раз. zstРешил поделиться маленькой модификацией, для упрощения выбора шаблона у раздела новостей. Могут быть недочеты в скрипте, по скольку не думал об "защиты от дурака". Критика и пожелания приветствуются smile
Версия движка(где тестировалось): 1.10.3 — 1.10.4
До:
скрин 1
Иллюстрация
После:
скрин 2
Иллюстрация

Модификация файлов

-/admin/applets/cats.php(line:302)

Вызов функции из класса.
  1.  
  2. //'com_content' - параметр с начальным название файлов, которые нужно показывать.
  3. //@$mod['tpl'] - данная переменная обозначает выбранный уже шаблон, что бы не путаться в выборе.
  4. <?php $inCore->loadTempType('com_content', @$mod['tpl']); ?>
  5.  

-/core/cms.php(line:1293)

Добавив вот такую функцию
  1.  
  2.  
  3. public static function loadTempType($temp_name, $curr_file) {
  4. //путь где лежат файлы шаблона
  5. if ($handle = opendir(PATH . '/templates/' . TEMPLATE . '/components')) {
  6.  
  7. $outdata = '<select name="tpl" id="tpl" style="width:98%">';
  8.  
  9. $pattern = '/^' . $temp_name . '/';
  10.  
  11. while (false !== ($file_temp = readdir($handle))) {
  12.  
  13. if (preg_match($pattern, $file_temp, $matches, \PREG_OFFSET_CAPTURE)) {
  14.  
  15. if ($curr_file == $file_temp) {
  16.  
  17. $select_true = 'selected="selected"';
  18.  
  19. } else {
  20.  
  21. $select_true = '';
  22.  
  23. }
  24.  
  25. $outdata .= '<option value="' . $file_temp . '" ' . $select_true . '>' . $file_temp . '</option>';
  26.  
  27. }
  28.  
  29. }
  30.  
  31. $outdata .= '</select>';
  32.  
  33. closedir($handle);
  34.  
  35. echo $outdata;
  36.  
  37. return true;
  38. }
  39.  
  40. return false;
  41.  
  42. }
  43.  
  44.  
#2 10 ноября 2014 в 13:50
Будем повышать вам карму для блога)
#3 10 ноября 2014 в 13:57
Доротея, Спасибо большое smileБудим стараться joke
#4 27 ноября 2014 в 01:53
Доротея
Ага hoho
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.