Доработать виджет ICMS2

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 8 мая 2014 в 20:13
Как сделать виджетах так как на скрине?
#2 8 мая 2014 в 21:12
system\controllers\content\widgets\list\options.form.php строку 60
  1. new fieldCheckbox('options:show_details', array(
  2. 'title' => LANG_WD_CONTENT_LIST_DETAILS,
  3. )),
Заменить на
  1. new fieldCheckbox('options:show_author', array(
  2. 'title' => 'Показать автора',
  3. )),
  4. new fieldCheckbox('options:show_date', array(
  5. 'title' => 'Показать дату',
  6. )),
  7. new fieldCheckbox('options:show_comments', array(
  8. 'title' => 'Показать комментарии',
  9. )),
templates\default\controllers\content\widgets\list\ выбираем нужный файл и дальше думаю понятно:
  1. <?php if($show_author) { ?>ИМЯ АВТОРА<?php } ?>
#3 8 мая 2014 в 21:14
спасибо, буду пробовать!
#4 10 мая 2014 в 21:01
Evanescence, что касается вывода чекбоксов в настройках виджета — сработало, чекбоксы появились. А вот что касается правки виджета то тут не понял как правильно нужно.
#5 13 января 2015 в 16:49
В файле system\controllers\content\widgets\list\options.form.php сделал так:
  1.  
  2. new fieldCheckbox('options:show_details', array(
  3. 'title' => LANG_WD_CONTENT_LIST_DETAILS,
  4. )),
  5.  
  6. new fieldCheckbox('options:show_author', array(
  7. 'title' => 'Показать автора',
  8. )),
  9. new fieldCheckbox('options:show_date', array(
  10. 'title' => 'Показать дату',
  11. )),
  12. new fieldCheckbox('options:show_comments', array(
  13. 'title' => 'Показать комментарии',
  14. )),
В файле templates\default\controllers\content\widgets\list\list_tiles_big.tpl.php

  1.  
  2. <?php if ($is_show_details) { ?>
  3. <div class="details">
  4.  
  5. <?php if ($is_show_author) { ?>
  6. <span class="author">
  7. <a href="<?php echo href_to('users', $item['user']['id']); ?>"><?php html($item['user']['nickname']); ?></a>
  8. <?php if ($item['parent_id']){ ?>
  9. <?php echo LANG_WROTE_IN_GROUP; ?>
  10. <a href="<?php echo href_to($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a>
  11. <?php } ?>
  12. </span>
  13. <?php } ?>
  14.  
  15. <?php if ($is_show_date) { ?>
  16. <span class="date">
  17. <?php html(string_date_age_max($item['date_pub'], true)); ?>
  18. </span>
  19. <?php } ?>
  20.  
  21. <?php if ($is_show_comments) { ?>
  22. <?php if($ctype['is_comments']){ ?>
  23. <span class="comments">
  24. <a href="<?php echo $url . '#comments'; ?>" title="<?php echo LANG_COMMENTS; ?>"><?php echo intval($item['comments']); ?></a>
  25. </span>
  26. <?php } ?>
  27. <?php } ?>
  28.  
  29. </div>
  30. <?php } ?>
  31.  
всё равно не получается включать и отключать по отдельности показ автора, даты, комментарии,
#6 13 января 2015 в 18:11

всё равно не получается включать и отключать

SE7EN
Надо получить значение этих опции в system\controllers\content\widgets\list\widget.php например так:
  1. $show_author = $this->getOption('show_author');
А потом передать в шаблон
#7 13 января 2015 в 18:34
вот кусок кода из system\controllers\content\widgets\list\widget.php
  1.  
  2. <?php
  3. class widgetContentList extends cmsWidget {
  4.  
  5. public function run(){
  6.  
  7. $ctype_id = $this->getOption('ctype_id');
  8. $dataset_id = $this->getOption('dataset');
  9. $cat_id = $this->getOption('category_id');
  10. $image_field = $this->getOption('image_field');
  11. $teaser_field = $this->getOption('teaser_field');
  12. $is_show_details = $this->getOption('show_details');
  13.  
  14. $is_show_author = $this->getOption('show_author');
  15. $is_show_date = $this->getOption('show_date');
  16. $is_show_comments = $this->getOption('show_comments');
  17.  
  18. $style = $this->getOption('style', 'basic');
  19. $limit = $this->getOption('limit', 10);
  20. $substr_title = $this->getOption('substr_title', 50);
  21. $substr_teaser = $this->getOption('substr_teaser',80);
  22.  
все равно не работает
#8 13 января 2015 в 18:47

А потом передать в шаблон

Evanescence
  1. return array(
  2. 'ctype' => $ctype,
  3. 'image_field' => $image_field,
  4. 'teaser_field' => $teaser_field,
  5. 'is_show_details' => $is_show_details,
  6. 'is_show_author'=>$is_show_author, // Вот так каждую переменную, передайте в шаблон
  7. 'style' => $style,
  8. 'items' => $items
  9. );
#9 13 января 2015 в 18:50
т.е. в сам шаблон виджета?
#10 13 января 2015 в 19:11
всё разобрался — работает Evanescence, спасибо за терпение и подсказки
#11 13 января 2015 в 19:12
SE7EN, в файле system\controllers\content\widgets\list\widget.php посмотрите в самом внизу, там переменные передается шаблону
#12 13 января 2015 в 19:13

SE7EN, в файле system\controllers\content\widgets\list\widget.php посмотрите в самом внизу, там переменные передается шаблону

Evanescence

Понял, спасибо ещё раз
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.