kolecha

kolecha

+4
Репутация
3
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] options полей 29 августа 2022 в 22:10

Не проверял, но может одно из них поможет

  1. $field['visible_depend']
  2. $field['handler']->getProperty('visible_depend')
  3. $field['handler']->visible_depend
Loadырь

не сработало.

вообщем, просто получил все поля, и уже с ним работал.

#1 [ЕСТЬ РЕШЕНИЕ] options полей 28 августа 2022 в 16:26

здравствуйте. подскажите, как получить массив visible_depend(зависимость от другого поля), visible_depend даже нет в $field['options']. Получить пытаюсь в списке контента

#3 Сохранение заполнения поля в настройках виджета 7 июля 2022 в 12:23

Припомощи name=… вы передаёте массив. Это понятно. И если массив правильно сформирован он сохранится.  А как он попадает в name? 

                    new fieldRasdoh('options:content', [
                        'title' => 'Расходы'
                    ])

kolecha

Где здесь массив?

Lora

new fieldString ('option:srt', [ 'title' => 'строка' ])

А тут он где?)

Как я понял, в виджете полю, созданному под контент, не от куда брать переменные для работы. 

Тогда как? Отдельный фаил для использования его в настройках(того же другого поля)?

#4 Сохранение заполнения поля в настройках виджета 6 июля 2022 в 23:04

А как вы массив сохраняете?

Lora

Хороший вопрос. В поле name=«field_name[title][]» (field_name[price][]) и тд. В виджете ни как, думал засчет поля.

Для виджета нужно что то дополнительно?

#5 Сохранение заполнения поля в настройках виджета 6 июля 2022 в 20:23

Покажите код файла формы опций виджета с добавленным вашим полем.

Пока предположу, что вы забыли приставку options: в имени поля опции 

Вот пример options:show_list github.com/instantsoft/icms2/blob/ee0d6907c9f2b2f860fefe31611edab1de7a13cd/system/controllers/comments/widgets/list/options.form.php#L13

Zau4man
class formWidgetRasdohOptions extends cmsForm {
    public function init() {
        return [
            [
                'type' => 'fieldset',
                'title' => LANG_OPTIONS,
                'childs' => [
                    new fieldRasdoh('options:content', [
                        'title' => 'Расходы'
                    ])
                ]
            ]
        ];
    }
}

Да вроде нет

#1 Сохранение заполнения поля в настройках виджета 6 июля 2022 в 19:34

Здравствуйте. Подскажите, как заставить сохранять в опциях виджета, значение(массив) самодельного поля. В контенте поле работает.

В настройках виджета поле отображается и работает как нужно, но не сохраняется значение. Поле собирает массив из значений таблицы.

#7 [ЕСТЬ РЕШЕНИЕ] Количество подписчиков в категории 5 декабря 2021 в 02:08

Не имел дело с подписками, но судя по таблице в ней есть поле кол-ва подписчиков «subscribers_count». Плюс вы не верно написали.

$sub = $subscriptions->model->(не нашел функции подходящей)

kolecha

$sub = $subscriptions->getItem('subscription');

Тут $sub['subscribers_count'];  число подписчиков.

Lora

Спасибо, то что нужно)

#1 [ЕСТЬ РЕШЕНИЕ] Количество подписчиков в категории 3 декабря 2021 в 23:16

Здравствуйте. Подскажите, как вывести количество подписчиков в категории(в списке категорий)

Понимаю что нужно что то типа:

  1. $subscriptions = cmsCore::getModel('subscriptions');
  2.  
  3. $subscriptions->filterEqual('subject_url', $base_url.'/'.$c['slug']);
  4.  
  5. $sub = $subscriptions->model->(не нашел функции подходящей)

 

#9 Генерация списка полей в виджете 6 августа 2021 в 08:01

Что скрывать, это стандартные функции, погрузка полей в зависимости от типа контента и категории. Просто думал в списо полей добавить ещё позиции: Просмотры, Дата публикации и т.д.

        $field_generator = function ($item, $request) use($content_model) {
            $list     = ['' => ''];
            $ctype_id = is_array($item)? array_value_recursive('options:ctype_id', $item): false;
            if (!$ctype_id && $request) {
                $ctype_id = $request->get('options:ctype_id', 0);
            }
            if (!$ctype_id) {
                return $list;
            }
            $ctype = $content_model->getContentType($ctype_id);
            if (!$ctype) {
                return $list;
            }
            $fields = $content_model->getContentFields($ctype['name']);
            if ($fields) {
                $list = $list + array_collection_to_list($fields, 'name', 'title');
            }
            return $list;
        };
new fieldList('options:field', array(
                        'title' => 'Поле',
                        'parent' => array(
                            'list' => 'options:ctype_id',
                            'url'  => href_to('content', 'widget_fields_ajax')
                        ),
                        'generator' => $field_generator
                    )),

Можно не заморачиваться конечно, просто отдельно его вывести... 

#10 Генерация списка полей в виджете 5 августа 2021 в 23:20

 kolecha

Не очень понятно, что Вы хотите сделать, но посмотрите, как это сделано в других местах InstantCMS.

Пример:

  1. new fieldList('size_teaser', array(
  2. 'title' => LANG_PARSER_IMAGE_SIZE_TEASER,
  3. 'default' => 'small',
  4. 'generator' => function (){
  5. $presets = cmsCore::getModel('images')->getPresetsList(true);
  6. $presets['original'] = LANG_PARSER_IMAGE_SIZE_ORIGINAL;
  7. return $presets;
  8. },
  9. 'extended_option' => true
  10. )),

То есть генератор — это функция, которая возвращает некий массив. Если у вас уже есть этот массив, просто укажите его и всё.

'generator' => $myarray

Ris

То что массив это понятно, в самом файле настроек функция написана, но в ней не получилось к результату добавить свой массив. Мне не заменить нужно, а к сформированному массиву списка полей добавить свои позиции.

#11 Генерация списка полей в виджете 5 августа 2021 в 19:52

В результат (в конец или начало) этой функции добавить свои значения, понимаю что там массив, но как в него добавить не знаю

new fieldList('options:field', array(
                        'title' => 'Поле',
                        'parent' => array(
                            'list' => 'options:ctype_id',
                            'url'  => href_to('content', 'widget_fields_ajax')
                        ),
                        'generator' => $field_generator
                    )),

#1 Генерация списка полей в виджете 3 августа 2021 в 20:07

здравствуйте. возможно ли к генерируемому списку полей в настройках виджета добавить свои список, значения?

#13 Добавить слова в title картинок 30 июля 2021 в 15:01

Да какой яваскрипт) Ему просто надо поле, чтобы к имеющемуся title изображения, которое сейчас берется из названия записи, приписывать слово, которое он укажет.

 

Изображение

alex1313

Ну сделайте такое поле на уровне php чтоб отрабатывало)

То что я предложил максимально просто, обходится тем же стандартным строковым полем и этим скриптом.

Ну можно завернуть все это сразу в поле… Но зачем усложнять себе жизнь...

#14 Добавить слова в title картинок 30 июля 2021 в 13:57

Спомощью js и не париться) Значение поля (купить) подставлять в title изображения.

в шаблон куда ни будь

<script>
    var cm = document.querySelector('.f_photo a').getAttribute('title');
    document.querySelector('.f_photo a').setAttribute('title', 'Купить ' + cm);
</script>

вместо .f_photo — class вашего поля с картинками

вместо купить можно — <?php echo $item['поле_созданное_для_этой_цели']; ?>

#15 Поиск по странице 30 июля 2021 в 11:27

Написать виджет, который будет получать данные с нужной страницы(шаблона страницы), выполнит поиск в соответствующей записи в базе и вернёт результат куда нужно. Хотя возможно, если вывести на странице виджет " Поиск", тоже будет работать).

Lora

Тут наверное все проще имеется в виду. По функционалу как ctrl + f. Может нужно красивое выделение, вывод списка якорей для перехода...

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