Подскажите как лучше сделать..

InstantCMS 2.X
#31 22 сентября 2017 в 10:10
решил проблему неожиданно просто))
в методе store моего кастомного поля — сделал проверку, если в моем чекбокс дереве есть значения — то возвращаю из функции 1… если там пусто, т.е. чекбоксы не поставили или убрали, то возвращаю null… вот это значение и пишется в users… и как флаг выступает, показывать или нет мои значения из моей таблички))
хук не понадобился)) плодотворно потратил время на изучение ядра движка))
продолжаю дальше тупить))
#32 22 сентября 2017 в 15:08
я вот по этому адресу сделал свой стиль /templates/default/controllers/usertype/styles.css
но система его не подхватывает автоматически…
хотя вроде где то читал что должна…
что не так делаю?))
Спасибо.
#33 22 сентября 2017 в 15:30
скорее всего стиль оттуда подтягивается на страницах компонента… а у меня же кастомные поля… значит для них надо отдельный стиль делать..
ищу))
#34 22 сентября 2017 в 18:07

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

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

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

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

фильтрация работает)) очень приятный движок))
вот что получается)




#36 23 сентября 2017 в 06:07

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

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

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

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

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

Loadырь
спасибо большое Вам и всем кто помогает разобраться)) без вашей помощи было бы гораздо дольше))

у меня еще вопрос… по поводу валидации параметров
  1. public function run($id = false)
в экшене мы получаем параметр… а как его валидировать? допустим тут у меня только целые числа… где то строка… как этот вопрос решать?
да и в формах когда делаем, как там валидировать?
как я понимаю все параметры эскейпятся перед запросами в БД, но все равно ведь лучше бы их и после получения валидировать.
Спасибо)
#39 24 сентября 2017 в 22:53
я не могу во фронтэнде найти инструмента для постройки таблиц, что то типа renderGrid из админки… а renderGrid не работает, как я понял он под админа сделан.
Действительно нет? и самому надо делать таблицы?)
#40 24 сентября 2017 в 23:30
похоже что в перспективе будет)) но сейчас нет… есть вот такой вот метод в /core/template.php
  1. /**
  2.   * Выводит массив $data в шаблон $tpl_file (в папке шаблонов этого компонента)
  3.   * @param string $source_url
  4.   * @param array $grid
  5.   */
  6. public function renderGrid($source_url, $grid){
  7.  
  8. $this->addJS( $this->getJavascriptFileName('datagrid') );
  9.  
  10. if ($grid['options']['is_pagination']){
  11. $this->addJS( $this->getJavascriptFileName('datagrid-pagination') );
  12. }
  13.  
  14. if ($grid['options']['is_draggable']){
  15. $this->addJS( $this->getJavascriptFileName('datagrid-drag') );
  16. }
  17.  
  18. $tpl_file = $this->getTemplateFileName('assets/ui/grid-data');
  19.  
  20. extract($grid);
  21.  
  22. include($tpl_file);
  23.  
  24. }
и как видим $source_url совсем не задействован)
#41 27 сентября 2017 в 20:39
kaktus, как вам новость в 2.8.2?

Для всех полей доступны для реализации методы hookAfterAdd, hookAfterUpdate и hookAfterRemove, которые вызываются соответственно при создании поля в админке, редактировании и удалении, что позволит делать поля любой сложности;

Fuze
Кажется, ваше поле пора переписывать?
#42 29 сентября 2017 в 23:17

Кажется, ваше поле пора переписывать?

Pocus
честно говоря не совсем понял что это может мне дать и зачем переписывать...
большая просьба поясните)) я еще не настолько хорошо знаком с instantcms что бы сразу так сходу понимать что дадут мне эти хуки))
спасибо))
#43 29 сентября 2017 в 23:21

и как видим $source_url совсем не задействован

kaktus
Задействован

include($tpl_file);

kaktus
#44 29 сентября 2017 в 23:23

Задействован

Fuze
а слона то я и не заметил… спасибо)) чего то протупил) но в любом случае что то у меня не получилось табличку вывести с помощью этого метода)) сам нарисовал))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.