Уже ближе к теме, но достаточно одного хука. Подсказываю: есть же таблица cms_con_чего-то-там_cats_binds. В её сторону надо копать.Компонент и 2 хука.
#31
10 января 2018 в 16:46
#32
10 января 2018 в 20:34
Компонент не нужен, но хуков 3 (add, edit, delete).но достаточно одного хука
Кто еще какую загадку загадает?
#33
14 января 2018 в 23:55
Проблема с подсчетом кол-ва фото так и не решилась. Проблема вот тут kupianapa.ru/
Кол-во маленьких фото умножает на два. Причем системы нет😊Т.к некоторые нормально считает а некоторые умножает, а следовательно решение через поделить на два тут не подходит.
Кол-во маленьких фото умножает на два. Причем системы нет😊Т.к некоторые нормально считает а некоторые умножает, а следовательно решение через поделить на два тут не подходит.
Сегодня в 02:11
#34
15 января 2018 в 06:30
скинь в лс то как сейчас считает фоткиПроблема с подсчетом кол-ва фото так и не решилась. Проблема вот тут kupianapa.ru/
Кол-во маленьких фото умножает на два. Причем системы нет Т.к некоторые нормально считает а некоторые умножает, а следовательно решение через поделить на два тут не подходит.
#35
15 января 2018 в 11:48
Оно там тупо считает количество слов smallскинь в лс то как сейчас считает фотки
#37
15 января 2018 в 12:18
Один презет смолл — одна картинка. У меня это работает.а зачем считать слова small?
#38
15 января 2018 в 14:44
Так а что то там может твориться? Поле как поле.Что у Capitan творится в поле photos, он упорно не рассказывает.
Вот весь дефаул лист
<?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="photos_count" title="<?php echo LANG_ALL_PHOTOS; ?>"> </div> <?php } ?> <div class="fields"> <?php foreach($item['fields'] as $field){ ?> <?php if ($stop === 2) { break; } ?> <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>"> <?php if ($field['label_pos'] != 'none'){ ?> <div class="title_<?php echo $field['label_pos']; ?>"> <?php echo $field['title'] . ($field['label_pos']=='left' ? ': ' : ''); ?> </div> <?php } ?> <?php if ($field['name'] == 'title' && $ctype['options']['item_on']){ ?> <h2 class="value"> <div class="list_actions_menu controller_actions_menu dropdown_menu"> <input tabindex="-1" type="checkbox" id="menu_label_<?php echo $item['id']; ?>"> <label for="menu_label_<?php echo $item['id']; ?>" class="group_menu_title"></label> <ul class="list_actions menu"> <?php foreach($this->menus['list_actions_menu'] as $menu){ ?> <li> <a class="<?php echo isset($menu['options']['class']) ? $menu['options']['class'] : ''; ?>" href="<?php echo string_replace_keys_values($menu['url'], $item); ?>" title="<?php html($menu['title']); ?>"> <?php echo $menu['title']; ?> </a> </li> <?php } ?> </ul> </div> <?php } ?> <?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['html']; ?> <?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']; ?>
#39
15 января 2018 в 15:45
Capitan,
Я имел в виду поле photos в таблице cms_con_ваштипконтента
Например вот поле photos из таблицы cms_con_board
То есть три картинки — три пресета small.
Попробуйте, как советует ideasdigger, вместо echo substr_count($item['photos'], 'small') написать count(cmsModel::yamlToArray($item['photos']))
Я имел в виду поле photos в таблице cms_con_ваштипконтента
Например вот поле photos из таблицы cms_con_board
---
—
original: u1/004/11ee105b.jpg
big: u1/004/4bda72dd.jpg
normal: u1/004/d5ee5098.jpg
small: u1/004/08e78cd6.jpg
micro: u1/004/7d68bada.jpg
—
original: u1/004/b996b3f8.jpg
big: u1/004/1b6fe453.jpg
normal: u1/004/9c09db8a.jpg
small: u1/004/64a79d25.jpg
micro: u1/004/82c0e4f6.jpg
—
original: u1/004/bb7b8fda.jpg
big: u1/004/82645d44.jpg
normal: u1/004/af2a1ec7.jpg
small: u1/004/f9c36ec4.jpg
micro: u1/004/9e67cb10.jpg
—
original: u1/004/11ee105b.jpg
big: u1/004/4bda72dd.jpg
normal: u1/004/d5ee5098.jpg
small: u1/004/08e78cd6.jpg
micro: u1/004/7d68bada.jpg
—
original: u1/004/b996b3f8.jpg
big: u1/004/1b6fe453.jpg
normal: u1/004/9c09db8a.jpg
small: u1/004/64a79d25.jpg
micro: u1/004/82c0e4f6.jpg
—
original: u1/004/bb7b8fda.jpg
big: u1/004/82645d44.jpg
normal: u1/004/af2a1ec7.jpg
small: u1/004/f9c36ec4.jpg
micro: u1/004/9e67cb10.jpg
Попробуйте, как советует ideasdigger, вместо echo substr_count($item['photos'], 'small') написать count(cmsModel::yamlToArray($item['photos']))
#40
16 января 2018 в 01:14
Ris, Да, спасибо проблема решилась заменой
substr_count($item['photos'], 'small')
на
count(cmsModel::yamlToArray($item['photos']))
Теперь отображает правильное кол-во Дополнительных фото.
substr_count($item['photos'], 'small')
на
count(cmsModel::yamlToArray($item['photos']))
Теперь отображает правильное кол-во Дополнительных фото.
#41
16 января 2018 в 20:32
Добрый день. У меня похожий вопрос.
Подскажите пожалуйста как в отдельном блоке (это важно), вывести количество записей определенного типа.?
Заранее спасибо
Подскажите пожалуйста как в отдельном блоке (это важно), вывести количество записей определенного типа.?
Заранее спасибо
Как-то так:Как сделать автоматом под любой тип контента
Почему то не считает если находишься в корневой категории, перехожу во внутрь и там уже считает.
Прикрепленный файл
20180227172237_ph5uk.png
15 Кб
Добрый день!
Стала проблема с выводом количества записей в виджете на главную страницу(блок должен показывать число вакансий), внутри Работы у меня находятся Вакансии, удается получить количество записей вРаботе, а из подкатегории — Вакансии — не могу
Сейчас вот так
Здесь я получается посчитал все, нормально, по всей таблице, а нужно из таблицы cms_con_board выбрать в столбце category_id и посчитать, только из 9 категории
Стала проблема с выводом количества записей в виджете на главную страницу(блок должен показывать число вакансий), внутри Работы у меня находятся Вакансии, удается получить количество записей вРаботе, а из подкатегории — Вакансии — не могу
Сейчас вот так
<?php $model = new cmsModel(); $vakans = $model->getCount('con_board'); ?>
#44
7 июня 2018 в 19:28
$vakans = $model->filterEqual('category_id', 9)->getCount('con_board');
#45
4 февраля 2019 в 22:40
Как-то так:
<a href="<?php $cat_count = cmsCore::getModel('content')->join('con_'.$ctype['name'].'_cats', 'ac', 'i.category_id = ac.id')->filterEqual('category_id', $c['id'])->filterOr('ac.parent_id = i.category_id')->getCount('con_'.$ctype['name'].'', 'id'); echo href_to($base_url . (($dataset && $is_ds_view && !$is_ds_hide) ? '-'.$dataset : ''), $c['slug']); ?>"><?php echo $c['title'].' ('.$cat_count.')'; ?></a>
Подскажите как подобное вывести в виджете?
Аналогично в прописал в виджете так
$cat_widget_count = cmsCore::getModel('content')->join('con_'.$ctype['name'].'_cats', 'ac', 'i.category_id = ac.id')->filterEqual('category_id', $c['id'])->filterOr('ac.parent_id = i.category_id')->getCount('con_'.$ctype['name'].'', 'id');