Там разные страны
Как в битриксе понятно делать, а как в evo?
Плюсанул)

ПС. на сео возможно не лучшим образом скажится повторное юзание тех же картинок (будет засчитываться как спам)
Сделать символическую ссылку на папку с картинками.
Как вариант.
Второй вариант — это выборка из DocLister через API — в таком случае DL возвратит объект Json с которым можете делать всё что душе угодно)
Ну в сниппете prepare получать чанк с шаблоном дубля и подставлять в в шаблоне записи

if($data['id'] == X){
    $data['myplaceholder'] = $modx->parseText($modx->getChunk('my_second_tpl_row'), $data, '[+', '+]');
}else{
    $data['myplaceholder'] = '';
}
return $data;

в шаблоне строки в конце
[+myplaceholder+]
  • avatar levonty
  • 0
Ребят, минуло 6 лет и вот что-то пошло не так! Для передачи email в скрипт использовал конструкцию в событии eFormOnBeforeMailSent
global $modx;
$prm=$modx->Event->params;
$email = $prm[to];

Вроде бы ничего не менял и не трогал, но теперь $modx->Event->params дает NULL!

Попробовал в другом снипете — параметры показывает. Может кто сталкивался, где искать? Evolution 1.4.15, Eform 1.4.9
  • avatar digitz
  • 0
Отписал в личку
  • avatar marinau
  • 0
Здравствуйте! А как установить темную тему для TV параметров?
  • avatar nohc
  • 0
Нашел.
php artisan closuretable:rebuild
  • avatar tmih
  • 0
Здравствуйте!
Скажите пожалуйста — тестовый магазин есть? можно ли просить, может у кого есть сборка, чтобы можно было установить и посмотреть как внутри все устроено.
Спасибо!
  • avatar kymage
  • 0
Именно так и сделал.
  • avatar nohc
  • 0
Добавляй тогда скриптом в форму input hidden с нужным значением.
При открытии формы скриптом собирай данные из нужных дивов, и вставляй в форму скрытый инпут. Или отправляй formData аяксом. Типа такого:

let formData = new FormData(form);

const outer = document.querySelector('.customDiv')
if (outer) {
    const priceEl = outer.querySelector('.price')
    if (priceEl) {
        formData.append('price ', priceEl.innerHTML)
    }
    // и все остальные поля
}


    const formOuter = form.parent()
    axios.post(this.action, formData).then(function (response) {
        if (response.data.success) {
            formOuter.innerHTML = response.data.success 
        }
    }


FormLister не цепляет данные из элементов верстки, только из полей отправляемой формы: input, select, textarea и т.д.
  • avatar nohc
  • 0
Пока вместо SiteContent::descendantsOf($parent) использую SiteContent::where('parent', '=', $parent). Это для получения прямых потомков. А вот если нужно получить в глубину, никак. Только если делать еще один запрос?
  • avatar 1px
  • 0
Данные форм в web'е отправляются, исходя из элементов самой формы. Див — это не элемент формы.
Вопросы, пожелания?
Хочешь отправлять данные из хуйпойми откуда — сделай аякс, отправь эти данные, как key:value и прими в вызове runSnippet->('FormLister',[… параметры])
  • avatar Aharito
  • 0
Вся дока теперь на docs.evo.im, а evolution-cms.com видимо никто продлевать не хочет ))
  • avatar Aharito
  • 0
Так он называется — ФормЛистер. Он предназначен именно для работы с формами. В описании так и написано.

Если вы хотите сделать решение, чтобы оно еще и из div'ов отправляло, узнавая данные к примеру по особому классу, то допишите расширение базового контроллера.
  • avatar Aharito
  • 0
Не совсем там(
Искать, оказывается, надо файл PHPMailer.php

Ну так я вам просто путь к папке указал, а там уж чтобы дальше сами.

p.s. толку не дало, пошел ставить FormLister…

Будет легче, чем с еФормом :)