Артур Шевченко

Артур Шевченко

Был в сети 4 часа назад
Заказы принимаю
Отправить деньги
без ajax никак, фильтрация-то через него происходит, поэтому и pdoresources через него надо вызывать. Т.е. если сразу загружается страница с отмеченным фильтром, то можно этот параметр подставить в pdoResources, а если потом выберут другой параметр фильтрации, то чтобы перерисовать блок с картинками нужен ajax
Вам нужно на вот это событие
$(document).on('mse2_load', function(e, data) {
    console.log(e, data);
});
отправлять ajax c параметром фильтрации и на его основе выбирать нужные картинки и выводить, соответственно картинки должны как-то соотносится с основным фильтром, если речь идёт о цветах то можно разбить картинки на категории и соответственно при смене фильтра в mfilter2 отправлять идентификатор категории цвета.
franchiser.ru свежий проект у меня заметка есть на тему того как я делал там авторизацию. Да ha были сложности, но вот с VK как раз не было, да указать url с параметрами там нельзя, но ha на это всё равно. Ты уверен что коды отличаются только наличием параметров? Может в ha стоит редирект на внутреннюю а в ВК на главную или что-то вроде того? А с Гуглом только одна проблема, он проверку приложения требует, но в остальном вроде работает.
Боюсь что это сложно, плагином тут не обойтись, чтобы отправить уведомление с сервера на сайт нужны websocket или comet-server.com/. Плюс надо в скрипты админки добавить свои, а там ExtJs, в общем задача для опытных разработчиков. Поэтому либо довольствуйтесь письмом на почту, либо делайте на фронте отдельную страницу для менеджера (лично я бы так и сделал).
Вариант 1. Выводить на фронте список задач в виде формы с чекбоксами и через FormIt отправлять админу, а он заходит в адмику и ручками в нужном ресурсе дублирует отметки. Из плюсов этого варианта могу отметить его простоту.
Вариант 2. Все тоже самое, но использовать в место FormIt
свой сниппет (в заметке есть пример вызова), который будет делать следующее
$resource = $modx->getObject('modResource', $_POST['id']); // получать ресурс со списком заданий.
// задания ты будешь вероятно хранить в migx поэтому
$tasks = json_decode($resource->getTVValue('taskList'),1);
foreach($_POST['tasks'] as $key => $value){
$tasks[$key]['on'] = $value; 
}
На фронте соответственно форма с полями
<form class="ajax_form" method="post">
<label>
Задача 1
<input type="checkbox" name="tasks[]" value="1">
</label>
<label>
Задача 2
<input type="checkbox" name="tasks[]" value="1">
</label>
<label>
Задача 3
<input type="checkbox" name="tasks[]" value="1">
</label>
</form>
И в конфигурации migx должны быть как минимум два поля
Вкладки формы
[
  {
    "caption": "Заголовок",
    "fields": [
      {
        "field": "task",
        "caption": "Задание",
        "inputTVtype": "text"
      },
      {
        "field": "on",
        "caption": "Выполнено?",
        "inputTVtype": "checkbox",
        "inputOptionValues": "Да==1"
      }
    ]
  }
]

Разметка колонок

[{
  "header": "Задание",
  "dataIndex": "task"
},{
  "header": "Выполнено?",
  "dataIndex": "on"
}]
Вариант 3. Добавить к варианту два возможность для организаций самостоятельно регистрироваться.

P.S. Код не тестировал, написал прям тут, так что может где-то сбоить.
{set $total = $_modx->runSnippet('pdoResources', ['parents'=>'2', 'setTotal' => '1', 'tpl' => 'tpl.pdo-more'])}
Это не работает, не знаю почему, проще написать свой модификатор, который будет возвращать количество дочерних элементов типа такого назовем его getCountRes
return count($modx->getCollection('modResource', array('parent' => $parent)));
В шаблоне
{set $total = $_modx->runSnippet('getCountRes', ['parent'=>'2'])}
{if $_modx->resource.menuindex < $total - 3}
{set $offset = $_modx->resource.menuindex}
{else}
{set $offset = 0}
{/if}
{'!pdoResources' | snippet:[
'parents'=>2,
'limit'=>3,
'depth'=>10,
'tpl'=>'tpl.pdo-more',
'includeTVs'=>'global-video,img',
'resources'=>'-'~$_modx->resource.id,
'sortby'=>'publishedon',
'sortdir'=>'DESC',
'offset'=>$offset
]}