Serguei
$settings['prepare'] = function($data, $modx, $_multiTV) { if ($data['publish'] == 0) { return false; } return $data; }; Do I need to add "else" ?
Not need. You have 'return'. Did you set the 'display' parametr in snipet call? (on default, this is 5, and other items will be skipped).
Marc
Yea I did 🙁 I'm oke with IF, using that now. Did notice on the frontpage I have a call where I use display=1 and the hidden one can't be first else its not showing.
Serguei
Not 'display=1' ! Use display='all'.
Serguei
Can you show code, where you are making snippet call and parameters of this call?
Axenia
KD_Profi (0) увеличил карму Dreamer_0x01 (360.16)
Marc
Can you show code, where you are making snippet call and parameters of this call?
I have checked 2 items but none are visible on the website. Seems to hide them all.
Marc
Do I need to add prepare to the Snippetcall??
Marc
When I remove the prepare and add [[if? &is=`[+publish+]:is:0` &then=`` &else=`...`]] in the rowTPL it does work, so there is something not right in the prepare
Aliaksandr
Do I need to add prepare to the Snippetcall??
I think your empty publish also equals 0. Try === 0 or make param hide=1 and compare as ==1 not ==0
Marc
===0 shows all. But I made it Hide==1 and changed the prepare to == 1 and that worked! Thanks! I will test it some more now.
Aliaksandr
maybe === '0' it wants :)
Andrey
[[multiTV? &tvName=mmt &docid=[*id*] &display=all ]] mmt.config.inc.php $settings['fields'] = array( 'title' => array( 'caption' => 'Title', 'type' => 'text' ), 'published' => array( 'caption' => 'pub', 'type' => 'checkbox', 'elements' => 'Hide=0' ) ); $settings['templates'] = array( 'outerTpl' => '<div >[+wrapper+]</div>', 'rowTpl' => '<div class="div"> [+title+]<br> </div>' ); function prepareRowsFunction($data, $modx, $_multiTV) { if( $data['published']) return $data; } $settings['prepare'] = 'prepareRowsFunction'; work
Aliaksandr
У тебя небось публишед не отключается ))
Aliaksandr
Понятно, что он сравнивает одно пусто со вторым пустым и у него они всегда равны
Andrey
Оно работает,хай там криво или как, лень дальше делать. Суть ясна)\
Andrey
Ну да, проще 'elements' => 'Show==1' и if( $data['published'] !=0) return $data;
Andrey
Как же кайфово. Чанки эти, одминка. Шаблоны в браузере, гитхаба нет, vscode этого сраного.
Serguei
I have checked 2 items but none are visible on the website. Seems to hide them all.
'publish' => array( 'caption' => 'Hide', 'type' => 'checkbox', 'elements' => 'Hide==off', // <========= TRY THIS ====== ) ); $settings['prepare'] = function($data, $modx, $_multiTV) { if( 'off' === $data['publish'] ) return false; return $data; };
Marc
Is this the best to do? It does work already :-)
Marc
Seems there are multiple ways to do it
Marc
I do wonder if it works when I do display=1 and hide the first
Serguei
Default value of 'publish' in your case is empty string. Compare empti string with 0 make some bugs... Correct way is compare string values with string values, numeric values with numeric and do not compare numeric values with empty strings.
Aliaksandr
Seems there are multiple ways to do it
Using any value except 0 - the best way 😂
Marc
I will change it tomorrow and test. Thanks again!
Aliaksandr
'' == 0 is true in php :) because they are both empty
Marc
Oke :-)
Maxim
Здравствуйте. С Template Builder у TV дублироваться превьюшка изображения стала. Как вылечить?
Aliaksandr
В самом билдере отключить, оно теперь в ядре
Maxim
Спасибо, поищу
Maxim
Да, в настройках плагина было
Andrey
Всем привет. А кто как борется со спамом с формлистером? Хочу собрать мнения и варианты)
EVO bot Лёшка
Am
Нет ФЛ - нет спама. (:
Andrey
А какие варианты не считая фм?)
Andrey
Убрать формы на сайте?)
Am
Am
У меня на единственном сайте где остался ФЛ стоит открытая форма и гуглрекапча 3 - спам не доходит. ((%
Аляксандр
Формы не нужны
Am
Всё не нужно. ((%
Andrey
А какие варианты не считая фм?)
https://tugrin.ru/blog/formlister-forma-obratnoj-svyazi.html Вот тут кто-то кусочек у меня ёбнул, даже оставив коммент про коллбэк js =) Но способ рабочий
Sasha
Всем привет. А кто как борется со спамом с формлистером? Хочу собрать мнения и варианты)
Если форма грузится не Аяксом - вместо нее редирект на 404-ю. Самое главное, чтобы на ней не было формы, а то пост пройдет
Serguei
А может кто подсказать, у TemplateEdit есть какие-нибудь способы запретить повторную вставку одного и того же тв-параметра? Или надо самому отслеживать, чтобы в конфиг дважды не попал один и тот же тв-параметр? Думал, что при такой конфигурации он просто не запустится - а нифига, отображает все вкладки, даже если на них параметры повторяются. При заполнениии. понятное дело, получаю лажу. Отдал возможность заказчику загрузить их экселя конфигурацию вкладок вместе с импортом данных. Так он в момент все 100500 параметров магазина красиво разложил по нужным ему вкладкам, но нафигачил дубликатов :) Так-то понятно, что придется разбор файла подкорректировать и не принимать дубликаты, но не знал, что темплейтЭдит такое примет без ошибок.
Sasha
Даже не могу представить такую ситуацию, когда заказчику можно отдать конфигурирование хоть чего угодно в аминке
Andrey
Mr david_georgefx can suck my penis
Axenia
Marcaronie (72.98) увеличил карму Dreamer_0x01 (368.7)
Serguei
Даже не могу представить такую ситуацию, когда заказчику можно отдать конфигурирование хоть чего угодно в аминке
Так вот по этой причине и делаю такое. Изначально заказчик хотел, чтобы он мог добавлять произвольные параметры изделий, разложить их по вкладкам. Дать полный механизм к созданию тв из админки я не могу. Но могу спарсить из файла все названия столбцов. к примеру. и в какую-то отдельную категорию добавить тв-параметров. Чтобы при загаживании её потом разом всю категорию и грохнуть. Механизм раскладывания этих параметров по вкладкам делаю через темплейтЕдит. Правила для темплейтЭдита, соотвестветственно, что по каким вкладкам разложить, формирую на этапе парсинга файла. Параметры, которые не использовались в файле, по вкладкам не раскладываю. В принципе, уже всё работает, дубликаты тоже отловил. Вижу пока проблему, если к примеру заказчик неаккуратно сделает файл и зальет в админку пару тысяч новых тв-параметров. Но они в отдельную категорию попадут, то есть их хотя бы можно будет как-то автоматизированно отловить и вычистить.
Serguei
О. Вебер был прав, стало быть :) Ну и я тоже.
Andrey
Да вы развели тут тянучку. Всё ему было сказано и написано.
Serguei
Еще думаю плагин навесить, который будет отлавливать все добавленные заказчиком параметры и сигналить, если они не используются ни в одном ресурсе в выводе. И предлагать их сразу всех скопом грохнуть.
Sasha
А где-то есть список событий плагинов и что в них доступно? а то чет только от revo
Serguei
Да вы развели тут тянучку. Всё ему было сказано и написано.
он там false возвращал и пустую строку с нулем сравнивал, проблема-то в этом оказалась.
Serguei
А где-то есть список событий плагинов и что в них доступно? а то чет только от revo
А я в tracy смотрю. Там на события плагинов отдельная вкладка, и видно, что пришло с каким событием.
Andrey
https://docs.evo.im/03_develop/02_elements/04_plugins/02_plugin_events.html
Sasha
фуцк как гифку прикрепить 🙂 искал не там
Sasha
чет маловато там всего есть 🙂 Хоть template бы закинули в ondocformsave или его все из поста берут?
Andrey
Че было в голове, то и сделал. Взяли бы да дополнили.
Andrey
Ёпт.
Sasha
ну а вообще мне надо например зафайрить ondocformsave но только для одного шаблона реально я могу взять $_POST['template'] для условия?
Sasha
оно-то там есть, но хз это правильно или нет
Pathologic
неправильно
Sasha
во, а как надо
Pathologic
из базы брать
Sasha
по id лазить да
Sasha
блин получается тогда хотя бы один запрос придется сделать даже для тех, где ниче и делать не надо
Pathologic
ну и что тут такого
Sasha
звучит правдеподобно
Andrey
global $tmplvars,$content
Andrey
Разве там не будет нужного?
Pathologic
еще лучше
Sasha
пусто там в обоих
Сергей
чет маловато там всего есть 🙂 Хоть template бы закинули в ondocformsave или его все из поста берут?
https://github.com/64j/templatesedit3/blob/5c74a791c07c057c906dfa6c4845e4bb8444fced/assets/plugins/templatesedit/class/templatesedit.class.php#L261-L265
Aliaksandr
В ondocformsave ничего из реквеста уже не берется, я к этому времени другим ондокформсейвом уже все мог подменить в реальном документе
Serguei
А можно как-то в templateEdit отключить преобразование всех шаблонов, для которых нет конфигов? Сейчас если удалить template__default.php, то выдается ругательство, если попытаться открыть шаблон без конфига.