Алексей Смирнов

Алексей Смирнов

С нами с 20 декабря 2014; Место в рейтинге пользователей: #43
Алексей Смирнов
18 июня 2023, 23:39
+4
Да, ушла в прошлое эпоха старого сайта с докой. Ее «затер я до дыр». Она научила меня читать и писать по MODX-овски и переводить на другие языки. )) Громадное спасибо за это @Василий Наумкин
Сейчас буквально ношусь по новой доке, чудесно! Скорость переключения, это прям космос для меня, конечно, статика она такая быстрая. И моя личная неприязнь к возвращающему скролу страницы теперь утилизирована и снова хочется жить! )) Темная тема понравилась, хотя я противник темной темы, но вот очень зашла! Вообще огромное спасибо за проделанную работу. После таких изменений вдохновляешься еще сильнее на свои подвиги!!!
Спасибо всей команде русского сообщества MODX за то что делаете!
Отдельное спасибо некоему @Баха Волков, что взял и сделал!
Так держать, и даже выше!
Алексей Смирнов
01 июня 2023, 17:27
0
А куда вы хотите эту ссылку отправить? На почту? Показать человеку на экран?
это $AjaxForm->success — оно работает, только если вы запускаете свой сниппет, а не formit.
Поэтому если нужно на почту ссылку отправить — просто добавьте еще поле одно с сылкой.
А если вы хотите показать, то тут сложнее.
Алексей Смирнов
01 июня 2023, 16:41
0
Успешность отправки вообще делается не в хуке, а в настройках при вызове formIT:
{'!AjaxForm' | snippet : [
'successMessage' => 'Спасибо! Ваш отзыв отправлен.',
]}
ну и доку посмотрите: docs.modx.com/current/en/extras/formit/formit.hooks
Алексей Смирнов
01 июня 2023, 11:13
1
+3
Прикрепляется очень просто. Ответа на поверхнисти нет особо, будет тут.
Для начала создаем сниппет в админке — это будет наш хук. Примерное содеражание его таково на примере xls:
$myfile = array(
    "name" => "Name-of-file.xls",
    "type" => "application/vnd.ms-excel",
    "tmp_name"=> MODX_ASSETS_PATH."path_more/Name-of-file.xls",
    "error"=> 0
    );
$hook->setValue('file', $myfile);
return true;
Тут вам нужно будет указать реальные имена файла в нужных местах и полный путь к файлу в tmp_name. Тут пример с папкой /assets/.
Ну и указать MIME тип присоединяемого файла. (type)

После указываем данный хук в formIT(ajaxForm) и проверяем что все приходит.
У формы на фронте еще должно быть указано enctype=«multipart/form-data» в теге form:
<form method="post" action="/" enctype="multipart/form-data">
Тестируйте, проверяйте.
Удачи.
Алексей Смирнов
31 мая 2023, 23:59
0
Понятно.
Тогда да, боль.
ну и еще как вариант для ускорения — можно просто копировать категорию-ресурс, тогда в новом ресурсе будут уже выделены те ресурсы, что в предыдущем — будет проще работать с этим, раз у вас в категориях выбираются ресурсы.
Еще можно накатать плагин, который при первом сохранении, допустим, запишит все 200 товаров, а вы после просто нажмете крестики и удалите не нужные.
Как-то так.
Алексей Смирнов
31 мая 2023, 23:17
0
А почему вы Карточку-русурс не хотите создавать сразу в Категории-русурсе?
Почему так сложно делаете?
Алексей Смирнов
31 мая 2023, 22:53
+1
Вопрос такой.
Карточка-ресурс имеет 1 родителя или может иметь много родителей?
Иными словами: Карточка товара должна принадлежать мультикатегориям (карточки-категории)?
Почему задаю этот вопрос, потому что кажется, что вы что-то не так делаете, раз у вас подавляющее большинство товаров (карточек) привязывается к категорям.
Расскажите что у вас за категории и что за товары. Возможно, есть решение по проще и быстрее.
Алексей Смирнов
18 мая 2023, 15:44
0
В лексиконах ключи, обычно пишутся так config_key_info, поэтому, есть вариант проверять наличие в строке нижнего подчеркивания. Если у вас есть один определенный суффикс, то можно проверять его на вхождение. Примерно вот так:
{set $key = "_"}
{if $key | in : ("config_key_info" | config)}
нет в лексиконах
{/else}
  Результат: {("config_key_info" | config)}
{/if}
Еще можно проверять на пустоту.
в доке есть примеры работы со строками.
Алексей Смирнов
12 мая 2023, 11:01
0
Если вы хотите просто сменить путь (не меняя сам файл и прочее) то можно просто вывести поле картинки как строку и поменять пути.
Если вы хотите прям менять фото в таблице колекций — загружать, менять в браузере, то скорее всего не получиться простым путем нужно писать много кода.
Алексей Смирнов
22 апреля 2023, 21:47
0
Распихивание фоток в ТВ точно не предусмотрено.
Я могу лишь посоветовать как-то помечать сами файлы, что загружаются со стороны стандартной загрузки и помечать в поле description (если оно не используется) или в поле properties добавлять в json формате пометку про файл (там есть некие данные, вам просто добавить в них нужно).
Даже уже в этом варианте без TV можно будет уже вытаскивать нужные файлы. Если сможете помечать файлы, то и потом в ТВ путь к файлу спокойно сможете вставить.
Ну и еще момент, у всех файлов тикета (tickets_files) есть поле type — туда записывается ТИП файла, если у вас разделение фотки — документы, то по типу еще можно отбрасывать и выводить (Images, pdf,doc) и т.д.
Алексей Смирнов
21 апреля 2023, 22:05
0
Сразу вопрос. Зачем фото и файлы грузить в разные ТВ?
Зачем усложнение такое?
Алексей Смирнов
18 апреля 2023, 23:36
+1
Если вы в $resource определили нужный ресурс, то так берется значение ТВ поля:
$tvValue = $resource->getTVValue('name-tv-polya');
где name-tv-polya — название ТВ поля.
Алексей Смирнов
15 апреля 2023, 22:35
+1
Если вы знаете php, то на феноме, должны знать как проверяется порядковый номер фотки.
Опишу направление для вас:
Вам нужно при переборе $files массива для 1й итерации вывести одно оформление, при остальных — другое.
Как, это делается по синтаксису — можно найти.
Если вы в программировании вообще 0, то начните с самых основ php, MODX Парсера, fenom синтаксиса.
Вроде даже в стандартных чанках минишопа есть небольшие ответы на некоторые вопросы.
Алексей Смирнов
14 апреля 2023, 10:01
0
Считайте вы верно сделали, теперь сможете выбрать (подобрать) нужный оператор для фильтрации массива.
MIGX хранит данные в json формате, и при фильтрации — фильтрует этот массив, а MIGX_db хранит в БД. Отсюда и выходит некоторые различия в операторах для where.
Если не нашли необходимый оператор, то, видимо, придется писать свой сниппет с фильтрацией.
Алексей Смирнов
12 апреля 2023, 19:31
0
ну хотя бы для начала:
Очистите лог полностью
Очистите кеш.
Откройте 1 страницу (например главную)
И смотрите появилась ли ошибка в логе.
если появилась — коментируйте код и ищите кто там веселый такой.
Если не появилась — ищите страницу когда появится.
А далее смотрите чанки и сниппеты что на шаблон нацеплены.
Алексей Смирнов
05 апреля 2023, 13:09
0
Заинтересует любого кому приглянулся handyShop по функционалу и дизайну. Люди в любом случае сэкономят деньги и время на старте. Это же очевидные вещи.
Я никого не принуждаю, а просто показываю и даю альтернативу в готовых решениях для MODX Revolution.
Холиварить по поводу выбора платформ CMS — вообще не тема топика и вы лучше меня знаете, а то и Максим недавно подсказал.
Поэтому выбор платформы, в полне, может стоять и на первом месте, а уж с нуля или взять готовое — на втором. Или наоборот, что тоже нормально.
А функционал развивается, стабильно работает. В любой системе есть что допиливать — очевидно. Каждый выбирает сам.
Надеюсь я ответил на все ваши вопросы.
Алексей Смирнов
03 апреля 2023, 08:43
0
Минишоп2 4.х не поддерживает MODX 3.
Алексей Смирнов
30 марта 2023, 12:54
+1
Еще пока не адаптировали. Но в дальних планах.
Алексей Смирнов
25 марта 2023, 22:43
0
У вас в emailsender должен быть указан ящик текущего ДОМЕНА.
например сайт у вас (Домен) pupkin-ru, тогда почту укажите: no-reply@pupkin-ru
Алексей Смирнов
25 марта 2023, 17:14
0
Проверьте права на новую папку и что папка существует.