Константин Ильин

Константин Ильин

С нами с 10 февраля 2014; Место в рейтинге пользователей: #151
Константин Ильин
01 мая 2018, 16:00
0
Работаю с API, вызываю сниппет
$res = $this->modx->runSnippet('msProducts',[
            'parents'=> 4
            ,'where' => json_encode($where,1)
            ,'optionFilters' => json_encode($whereOption,1)
            ,'tpl' => 'product.item.row'
            ,'limit' => 0
            ,'sortby' => 'pagetitle' 
            ,'sortdir' => 'ASC'
            ,'btnAddNew' => $btnAddNew
        ]);
Передаю переменную $btnAddNew (булево), как ее получить в чанке product.item.row?
{$_pls['btnAddNew']}
{$btnAddNew}
...
{if $_pls['btnAddNew']}
{if $btnAddNew}
// Никак не хотят работать
Константин Ильин
23 апреля 2018, 12:18
+2
1. в гугле сразу много ссылок выходит на данную проблему или почитать документацию
2. Зачем вам столько вызовов pdoPage? если по вашему коду пагинация используется только у одного, если не нужна пагинация замените на pdoResources.
3. Решение проблемы — вам нужно указывать уникальные ключи и плесхолдер для вызова
// Например так

[[!pdoPage?
...
&pageVarKey=`p1page`
&pageNavVar=`p1page.nav`
...
]]

[[!pdoPage?
...
&pageVarKey=`p2page`
&pageNavVar=`p2page.nav`
...
]]

[[!pdoPage?
...
&pageVarKey=`p3page`
&pageNavVar=`p3page.nav`
...
]]
Константин Ильин
20 апреля 2018, 12:32
2
+1
Васлий, сниппет устраивает и много раз выручал, но wrapper не поддерживает @INLINE
{$_modx->runSnippet("AjaxSnippet",[
                'snippet' => 'pdoResources',
		'parents' => 47,
                'level' => 1,
                'limit' => 15,
                'includeTVs' => 'preview_img',
                'tpl' => 'tag_doors',
                'prepareSnippet' => 'pdoShopFront',
                'wrapper' => '@INLINE <div id="[[+key]] "class="owlCarousel ajax-snippet"></div>'
            ])}
joxi.ru/ZrJO5LJI9X0K7m

14, 15 строки, подключил парсер pdoTools
$pdo = $modx->getService('pdoTools');
if (!empty($wrapper)) {$wrapper = $pdo->parseChunk($wrapper);}
Константин Ильин
17 марта 2018, 10:52
+2
Порадовал pelago/emogrifier.

Я не буду мешать просто предложу пару вещей, можете не читать)))

— Текущий шаблонизатор модх точно не должен быть в МОДХ, ну или хотя бы работать не так(рекурсивно), по мне так лучше пропихнуть идею с феном.
— Простой интерфейс создания виджета на Дашбоард, на текущей понятное дело нужно знания extjs. Где-то видел скрин Дашбоарда, очень приятный на вид и хотелось бы чтобы виджеты просто создавались. Хотя наверно без программирования никак, но как то побольше документации об этом чтоль.
— Фон(Горы) при логине мне кажется сделать более нейтральным, например сероватым

Да, Вы не наемные рабочие и ничего нам не должны, но было бы хорошо если вы выслушивали предложения/пожелания других пользователей, дабы все миром сделать бодрую CMS.

Спасибо Василий, что держишь нас в курсе событий и трудишься на блага людей! Спасибо!
Константин Ильин
08 марта 2018, 12:47
0
а чем плох ExtJS?
Я имею ввиду более свежей версии, лицензия денег стоит?
Константин Ильин
08 марта 2018, 12:33
0
Отличная новость!!!
Нам нужно больше скриншотов админки=)

Самый реалистичный план, который я знаю — перевести все контроллеры и процессоры админки на REST, и тогда любой желающий сможет написать свою админку на любом JS фреймворке (потому что это очень холиворная тема).
Все же какая-то админка должна быть сразу, ведь из-за нее в начале полюбили modx:)
Получается modx превращается в этакий фрейморвк(хотя и щас так можно сказать что он таковой)
Константин Ильин
01 марта 2018, 19:00
0
Михаил, можете поподробнее рассказать о сканирование штрих-кодов и отправка сигнала в пхп, как это все реализовано?
каков процесс от сказанных слов клиента до добавление товара в заказ?
Как отправляется код от сканера в веб?

Мое представление:
усб и комп
сканер отправляет на комп сигнал и считанный код, на компе установлена(написана) небольшая программа которая принимает сигнал и отправляет уже по веб на сервер
айпад
Не совсем понял, через вайфай получается?

Спрашиваю для того, чтобы заменить на предприятии 1с на веб, кстати как думаете хорошая идея?
Да и вообще интересно как это все

Предполагается централизованный каталог, который могут редактировать менеджеры с разными уровнями доступа, центрлизированая система заказов, но вот надо отдельно делать штрихкодирование и отгрузка товара.
Константин Ильин
15 февраля 2018, 13:51
+2
MODX Revolution 2.3.3-pl
Первое чтобы я посоветовал это обновить модх, на сколько помню эта версия уязвима(возможно вас взломали) и переписать все на Fenom.
Но это возможно много переделать придется все зависит от того как сделали.

Я может ошибаюсь что 1 Gb достаточно для сайта?
нужно посмотреть в панели хостинга сколько памяти занято на серваке
Константин Ильин
12 февраля 2018, 09:49
1
0
В случае если меняется только домен(поддомен):

Создаете ресурс
pagetitle: robots
Тип содержимого: text
Кэшируемый: убрать галочку

Создаете шаблон Robots с содержимым (Должен быть включен Fenom)
User-agent: *
Disallow: /manager/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Host: {$.server.HTTP_HOST}

Sitemap: {$.server.REQUEST_SCHEME}://{$.server.HTTP_HOST}/sitemap.xml

В корне сайта нужно удалить файл robots.txt иначе будет загружаться он, а не созданный ресурс.
Присваиваете этот шаблон ранее созданному ресурсу и все готово. Теперь у вас динамический роботс, пляшущий от HTTP_HOST.
Константин Ильин
01 февраля 2018, 08:56
0
Тоже вчера пришел и минут 10 смотрел, соображал, что за кашу он написал. Как будто человек пьяный писал или ответ менеджера.
Тоже не совсем понял про какие версии он пишет. Он вообще пишет «MySQL version of 2.6» — это из какого века человек?

Судя по ответу, человек вообще не понимает, что от него просят.
Она наверно даже не зашел по ссылке по JSON поля.

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

В этом ключе забавно слушать призывы активнее участвовать в разработке и поддержке MODX. Для чего? Чтобы тебя вот так отбривали?
Противоречат сами себе или мы не обладаем достаточным авторитетом чтобы чего-то там советовать. Зазнались наверно…

Приходится велосипедить теперь, писать чистые sql, получать id ресурсов и передавать в pdoPage…
Еще раз напишу, попробую донести до него или пойду выше другим писать — ибо нехер.
Константин Ильин
31 января 2018, 23:44
0
Currently, we use xPDO::toJSON and xPDO::fromJSON to save the JSON to a text field. I understand MODX3 has a minimum MySQL version of 2.6, I do not know if xPDO has a minimum established, but if it is 2.6 then 2.7 functions may not be possible at this time.

Если мой английски меня не подводит, он пишет про MODX3 в котором типа все будет, но модх3 мы получим в каком нибудь 2050 году… И то что хер они поддержут в модх 2.7 эти JSON функции
Пытаюсь, чтобы Ваш PR приняли или хотяб json функции.
Константин Ильин
25 января 2018, 13:08
0
Повозившись, были две мысли: либо pdoTools, либо xPDO. Теперь все прояснилось, не думал что так все прямолинейно в xPDO, полагал он любые функции sql обрабатывает.

Напишу им, ибо очень нужная штука.

Спасибо Сергей!

Для решение задачи:
Напишу сниппет с чистым sql который будет возвращать id ресурсов и буду передавать его в pdoResources
Константин Ильин
25 января 2018, 01:27
0
Извиняюсь конечно, что в топ поднимаю топик, но хотелось бы выдвинуть на серьезное обсуждение данный вопрос
Константин Ильин
24 января 2018, 18:40
0
не…

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

В консоли запрос отрабатывает на ура
$result = $modx->query("SELECT * FROM mg_site_content WHERE dop_parms->\"$.show_main\" = '1'");

А в pdo к сожалению нет…
'where' => "dop_parms->\"$.show_main\" = '1'",

Похоже, без Василия не заведется шарманка
Константин Ильин
24 января 2018, 17:48
0
Не знал.

Попробовал разные варианты, но более осмысленный тоже не работает:
'where' => "JSON_CONTAINS(`dop_parms`, '{\"show_main\":1}')",
В showLog, а точнее в запросе, отсутствует JSON_CONTAINS
Константин Ильин
19 января 2018, 12:05
0
Значит, нужно еще что-то поправить.
Логично:)
Моя догадка(как выход), что нужно после создания юзера редиректить с той же ссылкой(т.е. hash login email), что в письме есть и сразу будет логиниться.

Чтож, пошел я в редактор кода)
Константин Ильин
19 января 2018, 11:55
0
Понял.
согласен, что он сам знает. я на другом сайте давным давно тоже убирал из письма пароль, т.к. не понимал нафиг, сам знать должен, а если не помнит восстановление есть.

На второй вопрос я так понимаю не ответишь?) т.к. у вас новая политика в отношении платных компонентов
Константин Ильин
19 января 2018, 11:46
0
Вась, версия последняя, ничего не правил, пароль введенный в ручную не приходит
joxi.ru/8An5wPdTjPYY02

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

В функции _createUser() правил(другой сайт)
//return $this->_resetPassword($data['username'], $data['password'], $this->config['tplRegister']);
return $this->success('Вы успешно зарегистрированы в проекте!
 Войдите в свой личный кабинет, при помощи указанных Вами логина и пароля.');
Все регается, но не дает логиниться
Константин Ильин
18 января 2018, 16:38
0
Ага) просто привык, однажды я так пытался сделать, но в феноме это не работало или такое не поддерживал точно не помню

~=
Константин Ильин
18 января 2018, 10:15
0
Один вопрос только остался
Как сделать так чтобы output не писал в журнал ошибок
$modx->event->output('')