Подскажите, пожалуйста, как вывести иконку возле названия статья в зависимости от набора. InstantCMS 2.8
То есть, take.ms/jVVAi.
Спасибо. )
Dorimen, это нааамного проще в плане реализации. Решается правкой шаблона.
Подскажите, пожалуйста, как:
1. Сделать такое поле и что там нужно сделать
2. Как поправить шаблон, чтобы он реагировал на это поле исходя из хочушки )
Подскажите, пожалуйста, как:
1. Сделать такое поле и что там нужно сделать
2. Как поправить шаблон, чтобы он реагировал на это поле исходя из хочушки )
Видео про поле
<?php if( $ctype['options']['list_show_filter'] ) { 'css_prefix' => $ctype['name'], 'page_url' => $page_url, 'fields' => $fields, 'props_fields' => $props_fields, 'props' => $props, 'filters' => $filters, 'ext_hidden_params' => $ext_hidden_params, 'is_expanded' => $ctype['options']['list_expand_filter'] )); } ?> <?php if ($items){ ?> <div class="content_list featured <?php echo $ctype['name']; ?>_list"> <?php foreach($items as $item){ ?> <?php $stop = 0; ?> <div class="content_list_item <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>"> <div class="photo"> <?php echo html_image(default_images('private', $fields['photo']['options']['size_teaser']), $fields['photo']['options']['size_teaser'], $item['title']); ?> <?php } else { ?> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"> <?php echo html_image($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?> </a> <?php } ?> </div> <?php } ?> <div class="photo"> <img src="/templates/default/controllers/sc_smartslider/icons/icon<?php echo $item['icon']; ?>.png"> </div> <?php } ?> <div class="fields"> <?php foreach($fields as $field){ ?> <?php if ($stop === 2) { break; } ?> <?php if ($field['is_system'] || !$field['is_in_list'] || !isset($item[$field['name']])) { continue; } ?> <?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; } ?> <?php if (!$item[$field['name']] && $item[$field['name']] !== '0') { continue; } ?> <?php $label_pos = 'none'; } else { $label_pos = $field['options']['label_in_list']; } ?> <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>"> <?php if ($label_pos != 'none'){ ?> <div class="title_<?php echo $label_pos; ?>"><?php echo $field['title'] . ($label_pos=='left' ? ': ' : ''); ?></div> <?php } ?> <?php if ($field['name'] == 'title' && $ctype['options']['item_on']){ ?> <h2 class="value"> <?php if ($item['parent_id']){ ?> <a class="parent_title" href="<?php echo rel_to_href($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a> → <?php } ?> <?php html($item[$field['name']]); ?> <span class="is_private" title="<?php html($item['private_item_hint']); ?>"></span> <?php } else { ?> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php html($item[$field['name']]); ?></a> <?php if ($item['is_private']) { ?> <span class="is_private" title="<?php echo LANG_PRIVACY_HINT; ?>"></span> <?php } ?> <?php } ?> </h2> <?php } else { ?> <div class="value"> <div class="private_field_hint"><?php echo $item['private_item_hint']; ?></div> <?php } else { ?> <?php echo $field['handler']->setItem($item)->parseTeaser($item[$field['name']]); ?> <?php } ?> </div> <?php } ?> </div> <?php } ?> </div> <div class="tags_bar"> <?php echo html_tags_bar($item['tags']); ?> </div> <?php } ?> <?php $fields['date_pub']['is_in_list'] || $fields['user']['is_in_list'] || ($ctype['is_comments'] && $item['is_comments_on']) || !$item['is_pub'] || !$item['is_approved']; ?> <?php if($show_bar){ ?> <div class="info_bar"> <div class="bar_item bi_rating"> <?php echo $item['rating_widget']; ?> </div> <?php } ?> <?php if
Это то что придумалось за пару минут, но может устроит.
Здорово. Это то. что нужно было. Большое спасибо. Еще тогда такой вопрос… А можно ли не только вывести иконку, но и поменять цвет текста заголовка в новости (и текст ссылки в каталоге новостей) в зависимости от типа?
без примера не разберусь. вроде бы все ясно, но с реализацией плохо ( не программист(((
без примера не разберусь. вроде бы все ясно, но с реализацией плохо ( не программист(((
<?php if( $ctype['options']['list_show_filter'] ) { 'css_prefix' => $ctype['name'], 'page_url' => $page_url, 'fields' => $fields, 'props_fields' => $props_fields, 'props' => $props, 'filters' => $filters, 'ext_hidden_params' => $ext_hidden_params, 'is_expanded' => $ctype['options']['list_expand_filter'] )); } ?> <?php if ($items){ ?> <div class="content_list featured <?php echo $ctype['name']; ?>_list"> <?php foreach($items as $item){ ?> <?php $stop = 0; ?> <div class="content_list_item <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>"> <div class="photo"> <?php echo html_image(default_images('private', $fields['photo']['options']['size_teaser']), $fields['photo']['options']['size_teaser'], $item['title']); ?> <?php } else { ?> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"> <?php echo html_image($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?> </a> <?php } ?> </div> <?php } ?> <div class="photo"> <img src="/templates/default/controllers/sc_smartslider/icons/icon<?php echo $item['icon']; ?>.png"> </div> <?php } ?> <div class="fields"> <?php foreach($fields as $field){ ?> <?php if ($stop === 2) { break; } ?> <?php if ($field['is_system'] || !$field['is_in_list'] || !isset($item[$field['name']])) { continue; } ?> <?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; } ?> <?php if (!$item[$field['name']] && $item[$field['name']] !== '0') { continue; } ?> <?php $label_pos = 'none'; } else { $label_pos = $field['options']['label_in_list']; } ?> <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>"> <?php if ($label_pos != 'none'){ ?> <div class="title_<?php echo $label_pos; ?> myslyle<?php echo $item['icon']; ?>"><?php echo $field['title'] . ($label_pos=='left' ? ': ' : ''); ?></div> <?php } ?> <?php if ($field['name'] == 'title' && $ctype['options']['item_on']){ ?> <h2 class="value"> <?php if ($item['parent_id']){ ?> <a class="parent_title" href="<?php echo rel_to_href($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a> → <?php } ?> <?php html($item[$field['name']]); ?> <span class="is_private" title="<?php html($item['private_item_hint']); ?>"></span> <?php } else { ?> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php html($item[$field['name']]); ?></a> <?php if ($item['is_private']) { ?> <span class="is_private" title="<?php echo LANG_PRIVACY_HINT; ?>"></span> <?php } ?> <?php } ?> </h2> <?php } else { ?> <div class="value"> <div class="private_field_hint"><?php echo $item['private_item_hint']; ?></div> <?php } else { ?> <?php echo $field['handler']->setItem($item)->parseTeaser($item[$field['name']]); ?> <?php } ?> </div> <?php } ?> </div> <?php } ?> </div> <div class="tags_bar"> <?php echo html_tags_bar($item['tags']); ?> </div> <?php } ?> <?php $fields['date_pub']['is_in_list'] || $fields['user']['is_in_list'] || ($ctype['is_comments'] && $item['is_comments_on']) || !$item['is_pub'] || !$item['is_approved']; ?> <?php if($show_bar){ ?> <div class="info_bar"> <div class="bar_item bi_rating"> <?php echo $item['rating_widget']; ?> </div> <?php } ?> <?php if <
Что-то работает, что-то нет. Не могу разобраться.
Вот код:
Добавлял в файле default_list_tiles.tpl.php
А вот вывод:
То есть для иконки нормально подставляет цифру в в конце, а для стиля не хочет. Хотя вроде все сделано аналогично )))
Вы под картинкой сразу удаляете переменную со значением цифры, поэтому до стилей она не доходитХотя вроде все сделано аналогично )))
Перенесите
И по уму в классе ещё надо проверять на существование данного поля. Всё таки в default_list_tiles.tpl.php правки вносите.
И по уму в классе ещё надо проверять на существование данного поля
а как это сделать?