Loadырь

Loadырь

Быть лучшим - не значит быть достаточно хорошим.
+1247
Репутация
4894
Рейтинг
#1 Проблема с Pages 23 сентября 2017 в 19:21

MySQL вернула пустой результат

@mrdan
Всё верно, теперь повторите вашу ошибку.
#2 [ЕСТЬ РЕШЕНИЕ] Свой компонент в sitemap 23 сентября 2017 в 07:59
Ещё, если добавляете хуки вручную, не забывайте прописывать их в файле манифеста вашего компонента и делать "Обновить события" в "Компоненты — Управление событиями"
#3 [ЕСТЬ РЕШЕНИЕ] Свой компонент в sitemap 23 сентября 2017 в 07:44
@DubininDL, скачайте у меня в файлах компонент форум, там есть эти хуки, посмотрите, может с вашим форумом заработают
#4 Проблема с Pages 23 сентября 2017 в 07:32
@mrdan, попробуйте сделать запрос в бд
  1. ALTER TABLE `cms_con_pages` CHANGE `is_approved` `is_approved` TINYINT(1) NOT NULL DEFAULT '1';
#5 [ЕСТЬ РЕШЕНИЕ] Свой компонент в sitemap 23 сентября 2017 в 07:19
В своём компоненте создайте два хука, наподобие этих:
1. Добавление опций в настройках компонента "Карта сайта" для включения вашего компонента
github.com/instantsoft/icms2/blob/master/system/controllers/content/hooks/sitemap_sources.php
2. Генерация ссылок вашего компонента
github.com/instantsoft/icms2/blob/master/system/controllers/content/hooks/sitemap_urls.php
#6 Подскажите как лучше сделать.. 23 сентября 2017 в 06:07

вот что получается)

kaktus
Отличная работа, всего за неделю справились с новым для вас движком. Дальше будет интереснее ))).

я в my.css добавляю свои стили… нашел что он пустой в теме boxes)

kaktus
Стили можно добавлять в любой файл подключенный на странице, но если в дальнейшем планируете переносить это поле на другие сайты, то всё-таки лучше для стилей выделить отдельный файл. И хранить файлы js и css полей, лучше в папках js/fields/название_поля.js и css/field/название_поля.css, соответственно.
#7 Подскажите как лучше сделать.. 22 сентября 2017 в 18:07

скорее всего стиль оттуда подтягивается на страницах компонента

kaktus
Так и есть, для полей нужно самостоятельно подключать стили в файле шаблона через
  1. <?php $this->addCSS($this->getTplFilePath('controllers/usertype/styles.css')); ?>
#8 Подскажите как лучше сделать.. 22 сентября 2017 в 09:07

сли у него в базе null

kaktus
В таком случае, если поле должно выводится всегда, то может есть смысл сделать параметр $sql не NULL
  1. public $sql = 'int NULL DEFAULT NULL';
а "0"
  1. public $sql = 'int NOT NULL DEFAULT '0'';
#9 Подскажите как лучше сделать.. 22 сентября 2017 в 07:21

если в табличке cms_users в столбце значений кастомного поля не стоит NULL тогда все отлично отображается… если же установлено NULL то в пофиле ничего не вижу… как это обойти?

kaktus
В методе parse() пробовали передавать?
  1. if (is_null($value)){return true; // или чего-то ещё}
#10 Главная страница 22 сентября 2017 в 06:55
Админка — настройки — вкладка "Сайт" — Выводить на главной странице — Новости
#11 Подскажите как лучше сделать.. 21 сентября 2017 в 06:35
При установке поля в профиле, в таблице cms_users создаётся ячейка, в которой должны храниться данные выбранные пользователем. Эти данные потом доступны в переменной $value либо обрабатываются и передаются через getInput($value).
github.com/instantsoft/icms2/blob/master/system/fields/list.php#L137
Если $value это массив, то в базе данных он хранится в виде строки и при выводе его нужно преобразовать из yml в array
#12 Подскажите как лучше сделать.. 20 сентября 2017 в 18:38
А чтобы искало как вам хочется, используйте метод applyFilter($model, $value)
github.com/instantsoft/icms2/blob/master/system/fields/image.php#L164
#13 Подскажите как лучше сделать.. 20 сентября 2017 в 18:37

как внести корректировки в поиск пользователей?

kaktus
Для этого используется метод public function getFilterInput($value=false)
github.com/instantsoft/icms2/blob/master/system/fields/image.php#L158
#14 Подскажите как лучше сделать.. 20 сентября 2017 в 16:35

в данном случае как я вижу "Предустановленные значения" для всех типов предустановленных полей актуально… а для моей задачи неактуально..

kaktus
И не стоит так печалиться. Просто не используйте его и всё.

В методе public function getOptions() тоже можете ничего не выводить, если не будут использовать некие опции.

В файле github.com/instantsoft/icms2/blob/master/templates/default/assets/fields/list.tpl.php вы рисуете внешний вид вашего поля каким его увидит пользователь при редактировании своего профиля.

В методе github.com/instantsoft/icms2/blob/master/system/fields/image.php#L102 public function store($value, $is_submitted, $old_value=null)
вы полученные от пользователя данные вашего поля обрабатываете и сохраняете куда угодно.

В методе public function parse($value) вы собираете данные откуда угодно, обрабатываете, как хотите и передаёте готовый результат на фронт в профиле пользователя.
#15 [ЕСТЬ РЕШЕНИЕ] Тестирование компонента Форум 19 сентября 2017 в 21:28

Что я делаю не так?

kssemenov
Вероятно вы прогуляли ту лекцию, которая была 17.03.2017. Там было обновление которое вы пропустили. Теперь вам нужно руками делать запросы в бд. Вот все запросы в тот день.
  1. ALTER TABLE `cms_forum_cats` CHANGE `allow_read` `groups_read` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `allow_add` `groups_edit` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
  2. ALTER TABLE `cms_forum_cats` ADD `autoflood` TINYINT(1) UNSIGNED NULL DEFAULT NULL AFTER `groups_edit`;
  3. ALTER TABLE `cms_forum_posts` ADD `is_flood` TINYINT(2) UNSIGNED NULL DEFAULT NULL AFTER `content_html`, ADD `is_flood_time` DATETIME NULL DEFAULT NULL AFTER `is_flood`;
  4. INSERT INTO `cms_perms_rules` (`controller`, `name`, `type`, `options`) VALUES ('forum', 'send_invite', 'flag', NULL);
  5. UPDATE `cms_controllers` SET `version` = '2.0' WHERE `name` = 'forum';
  6. INSERT INTO `cms_scheduler_tasks` (`title`, `controller`, `hook`, `period`, `date_last_run`, `is_active`, `is_new`) VALUES
  7. ('Автоудаление сообщений на форуме', 'forum', 'autoflood', 10, NULL, 1, 0);
где cms_ это префикс таблиц в БД, у вас может быть другой.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.