Smooch

Smooch

+29
Репутация
1
Рейтинг
#1 Разработка компонента для объявлений авто 18 июня 2025 в 18:36

Вероятно, мою задачу можно решить стандартными средствами, без головной боли, через ТК: либо категориями, либо связями. Но все не то, да и не ищем мы легкий путей.
Поэтому сделал компонент auto, который имеет несколько таблиц: Марки, Модели, Страны со значениями и дополнительно таблицу связи всех с типом контента(может эта таблица лишняя: один ко многим)

Создал тип контента cars, в форме записи вывожу поля из таблиц выше, а при сохранении записи пишу в промежуточную ID-ки. 
Дальше я планировал подтянуть все данные в ТК через хуки. Но меня интересует вопрос с формированием url.

И что-то мне подсказывает, я не туда поехал: хочется использовать все возможности ТК, чтобы и категории работали, и наборы и тд(вдруг пригодятся)

На выходе планировал реализовать что-то такое:
site.ru/cars/country/ 
site.ru/cars/country/brand
site.ru/cars/brand/model
Может быть даже такое:
site.ru/cars/brand/model
и тд
Это же категории, буквально. Однозначно будут проблемы с урлами.

1) Возможно такое провернуть с ТК используя значения из своего компонента? Если да, то где подсмотреть? 

2) Может не стоит цепляться за ТК, делать отдельно записи в компоненте со своими экшенами, прописывать свои роуты) и тд

Искал по форуму, пару тем по касательной есть, но совсем не раскрыто:

Вопрос о url в instantcms 2

Как устроен компонент places

3) Вторая тема, особенно интересна, может быть мне стоит сделать компонент и тип контента с одинаковыми названиями, какие будут «дивиденды» с такого подхода?

4) Цеплять записи из типа контента в экшенах своего компонента, предполагаю этот вариант теряет весь смысл использования ТК, нужно посмотреть

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

Помогите, пожалуйста, направьте на путь истинный!

#2 Тип поля "Сквозной HTML" 18 января 2025 в 18:11

Через визуальный редактор вы создаете тот самый HTML, если нужно вставить кастомную верстку, это можно сделать через инструмент «исходный код» в панели редактора(если инструмент включен в настройках). Другой вопрос, что особой пользы в этом поле нет — вывести одинаковый html на страницах можно множеством способов. И совсем другое дело если расширить функционал этого поля и дать возможно корректировать содержимое при создании записей.

#3 [ЕСТЬ РЕШЕНИЕ] Кастомные поля для виджетов 20 декабря 2024 в 17:25

Оперативно. Спасибо за помощь, сейчас поставлю

#1 [ЕСТЬ РЕШЕНИЕ] Кастомные поля для виджетов 20 декабря 2024 в 17:18

Задача вывести дополнительную строку в обёртке виджета рядом с заголовком. Хуком widget_form добавил строковое поле, сохраняю его в опциях, здесь все без проблем. Но дальше у меня затык, как сделать его доступным в темплейте widgets/wrapper.tpl.php, есть изящное решение без правки ядра? Туда данные передаются в cmsTemplate renderWidget:

Изображение

Хук widgets_before_list я так понимаю мне здесь не поможет.
Хочется по красоте) если нет простых вариантов, тогда придется делать через tpl_wrap_custom

P.S. вариант с tpl_wrap_custom более чем устроит если сделать

тому полю дефолтное состояние(вывести готовое решение), чтобы верстку не вспоминать/ не таскать между виджетами

#5 [ЕСТЬ РЕШЕНИЕ] Вызов меню в шаблоне без виджета 14 марта 2024 в 14:31

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

Вопрос решен

#1 [ЕСТЬ РЕШЕНИЕ] Вызов меню в шаблоне без виджета 13 марта 2024 в 21:34

В main.tpl эта конструкция не работает:

  1. <?php $this->menu('menu_name'); ?>

Меню отображается только когда добавляю нужное меню через виджеты, тогда оно появляется в объекте $this и выводится в шаблоне через прямой вызов

#7 Поле цвет, есть необходимость мультивыбора 4 февраля 2024 в 10:54

Полностью магазин ставить ни к чему, возьмите от туда только поле из папки system/fields и загрузите в свой проект в соответствующую папку.

#8 Поле для связей 14 сентября 2023 в 16:34

 Zau4man, спасибо. formfield смотрел, но не смог разобраться, эти методы не встречал в стандартных полях. Пойду пробовать)

 
#1 Поле для связей 14 сентября 2023 в 16:03

Хочу сделать поле, которое будет брать значения из полей связанного контента. Так как поля у связи могут быть разных типов, возник вопрос, можно ли менять эти значения при создании(редактировании) поля в ТК:

  1. public $sql = 'int NULL DEFAULT NULL';
  2. public $filter_type = 'int';
  3. public $filter_hint = LANG_PARSER_LIST_FILTER_HINT;
  4. public $var_type = 'string';


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

  1. $this->sql = $rel_field['sql'];
  2. $this->filter_type = $rel_field['filter_type'];
  3. $this->filter_hint = $rel_field['filter_hint'];
  4. $this->var_type = $rel_field['var_type'];

И здесь у меня тупик, как это правильно можно реализовать, и возможно ли вообще такое провернуть? 

#10 Связь типов контента. Привязка только к одной записи 5 сентября 2023 в 09:53

Поэтому эта очевидная настройка очевидна не всем и из-за этого ее нет.

Loadырь

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

#11 При просмотре поста вывести список остальных постов из именно этой группы 19 июля 2023 в 20:01

Скорее всего группы здесь не совсем подходящий инструмент, могу ошибаться. Я сделал бы немного иначе.
Если правильно понял, лучше сделать новый типа контента «комиксы», категории контента использовать для наименований произведений, а уже сами посты для глав. В настройках типа контента «просмотр списка» выставляете 1 запись на странице и таким образом в пагинации у вас будет отображаться количество страниц и кнопки предыдущий и следующий. Это самое простое, что можно сделать.

еще можно обратить внимание на дополнение от Fuze https://instantcms.ru/addons/field-navigation.html, это поле позволяет вывести кнопки следующий и предыдущий пост в просмотре самой записи

#1 Проблема с админкой 8 июня 2023 в 19:06

Не найдена модель данных или она недоступна для чтения: system/controllers/backend_content/model.php
Последние вызовы:

cmsController->__get() @ /system/controllers/admin/frontend.php: 201
admin->getAdminMenu() @ /system/controllers/admin/frontend.php: 78
admin->before() @ /system/core/controller.php: 506
cmsController->runAction() @ /system/core/core.php: 763
cmsCore->runController() @ /index.php: 46

Обновлял InstantCMS на локальном, там все прошло хорошо. Ошибка появилась уже на хостинге, после переноса файлов сайта с локального на хостинг. Куда смотреть?

Добавлено спустя 1 час

Проблему нашел, autoload.php не был перенесен.

#13 Как подключить конструктор форм? 19 января 2022 в 19:21

В  2.15.1 шаблон «default»: делаю клон \form.tpl.php в  assets\ui\, например form_front.tpl.php
В конструкторе форм в поле выбираю этот шаблон, все сохраняется. Но используется по-прежнему form.tpl.php

#14 Создание фильтра и сортировки 2 октября 2019 в 18:51
Спасибо за ответы. Надумал заказать доработку. Если кому интересно, пишите в личку. Нужно разработать сортировку по полю. Сейчас не хватает галочки в настройках поля "участвовать в сортировке", в результате которого в фронтенде выводились две опции для этого поля по возрастанию и по убыванию
#1 Создание фильтра и сортировки 2 октября 2019 в 11:55
Можно ли из коробки сделать фильтрацию и параллельную с ним сортировку? Сейчас с помощью наборов нельзя фильтрованный контент отсортировать, так как любой набор имеет собственную ссылку.

Объясню на пальцах:
Есть список домов: 1-этажные, 2-х, 3-х и тд
Пользователь выбирает фильтр 1 этажные и сортирует выборку "по возрастанию площади", или стоимости, и фильтр убирается, что логично.

Попробовал сделать задумку с панелью фильтров и набором с сортировкой, но все тщетно. Тогда можно фильтровать после сортировки, в обратную так же все сбрасывает. Я правильно понимаю, что сортировку можно сделать только через наборы? Может есть опция или настройки, и я ее не вижу, а может попадался плагин или готовое решение с независимой сортировкой для такого случая? Буду благодарен любой помощи
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.