Поля в виджете

InstantCMS 2.X
#1 1 марта 2020 в 14:02
Как-то можно выводить дополнительные созданные поля типа контента в виджете список контента? Или есть варианты дополнений, где на главной можно вывести любые поля?
#2 1 марта 2020 в 14:15
Можно в шаблоне. У меня в компоненте Корзина товаров сделано так

  1.  
  2. <?php if ($items){
  3.  
  4. //вывод поля цена
  5. $model = cmsCore::getModel('content');
  6. $fields = $model->getContentFields($ctype['name']);
  7. //вывод поля цена
  8.  
  9. ?>
  10.  
  11. <div class="widget_content_list tiles-big">
  12. <?php foreach($items as $item) { ?>
  13.  
  14. <?php
  15. $url = href_to($ctype['name'], $item['slug'] . '.html');
  16. $is_private = $item['is_private'] && $hide_except_title && !$item['user']['is_friend'];
  17. $image = (($image_field && !empty($item[$image_field])) ? $item[$image_field] : '');
  18. if ($is_private) {
  19. if($image_field && !empty($item[$image_field])){
  20. $image = default_images('private', 'normal');
  21. }
  22. $url = '';
  23. }
  24. ?>
  25.  
  26. <div class="item">
  27. <?php if ($image) { ?>
  28. <div class="image">
  29. <?php if ($url) { ?>
  30. <a style="background-image:url('<?php echo html_image_src($image, 'normal', true); ?>')" href="<?php echo $url; ?>"></a>
  31. <?php } else { ?>
  32. <div style="background-image:url('<?php echo html_image_src($image, 'normal', true); ?>')"></div>
  33. <?php } ?>
  34. </div>
  35. <?php } ?>
  36. <div class="info">
  37. <?php if ($is_show_details) { ?>
  38. <div class="details">
  39. <span class="author">
  40. <a href="<?php echo href_to('users', $item['user']['id']); ?>"><?php html($item['user']['nickname']); ?></a>
  41. <?php if ($item['parent_id']){ ?>
  42. <?php echo LANG_WROTE_IN_GROUP; ?>
  43. <a href="<?php echo rel_to_href($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a>
  44. <?php } ?>
  45. </span>
  46. <span class="date">
  47. <?php html(string_date_age_max($item['date_pub'], true)); ?>
  48. </span>
  49. <?php if($ctype['is_comments']){ ?>
  50. <span class="comments">
  51. <?php if ($url) { ?>
  52. <a href="<?php echo $url . '#comments'; ?>" title="<?php echo LANG_COMMENTS; ?>">
  53. <?php echo intval($item['comments']); ?>
  54. </a>
  55. <?php } else { ?>
  56. <?php echo intval($item['comments']); ?>
  57. <?php } ?>
  58. </span>
  59. <?php } ?>
  60. </div>
  61. <?php } ?>
  62. <div class="title">
  63. <?php if ($url) { ?>
  64. <a href="<?php echo $url; ?>"><?php html($item['title']); ?></a>
  65. <?php } else { ?>
  66. <?php html($item['title']); ?>
  67. <?php } ?>
  68. <?php if ($item['is_private']) { ?>
  69. <span class="is_private" title="<?php html(LANG_PRIVACY_HINT); ?>"></span>
  70. <?php } ?>
  71. </div>
  72. <?php if ($teaser_field && !empty($item[$teaser_field])) { ?>
  73. <div class="teaser">
  74. <?php if (!$is_private) { ?>
  75. <?php echo string_short($item[$teaser_field], $teaser_len); ?>
  76. <?php } else { ?>
  77. <!--noindex--><div class="private_field_hint"><?php echo LANG_PRIVACY_PRIVATE_HINT; ?></div><!--/noindex-->
  78. <?php } ?>
  79. </div>
  80. <?php } ?>
  81. <?php
  82. //вывод поля цена
  83. if(!empty($item['price'])){
  84. $html = $fields['price']['handler']->setItem($item)->parse( $item['price'] );
  85. echo $html;
  86. }
  87. //вывод поля цена
  88. ?>
  89. </div>
  90. </div>
  91.  
  92. <?php } ?>
  93. </div>
  94.  
  95. <?php } ?>
  96.  
#3 1 марта 2020 в 15:05
Мне как раз надо добавление в корзину сделать с главной, но через виджет.
Можно просто в шаблоне виджета этот код вставить?
У меня при выборе list_basket отображение не поменялось.
#5 1 марта 2020 в 16:56


goodmade.ru/instantcms2/154-spisok-kontenta.html
На новой версии не тестировал. Но там можете и сами подшаманить.

GoodMade
Выглядит неплохо. Попробую, спасибо.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.