Вопросы

Контексты и ресурсы

есть два контекста web и catalog

когда вывожу товары контекста catalog и кликаю по товару, то бывает что перекидывает на товар, который лежит в контексте web
вот ссылка на товар из контекста catalog
https://site.ru/product/kombinezon-ly-2
а при клике вот сюда перекидывает

https://site.ru/kombinezonyi/kombinezon-ly
Переключения между контекстами нет, просто вынес старые товары в отдельный контекст

есть плагин, который обрабатывает вывод товаров из контекста catalog

<?php
if ($modx->event->name == 'OnPageNotFound') { 
    
    $alias = $modx->context->getOption('request_param_alias', 'q');
    if (!isset($_REQUEST[$alias])) {return false;}
    $request = $_REQUEST[$alias];
    $tmp = explode('/', $request);
    
    $req = 'product';
    
    if (($tmp[0] == $req && count($tmp) == 1) || (count($tmp) == 2 && empty($tmp[1])) ) {
        
		$modx->sendForward('2068');
		return;
		
    } else if ($tmp[0] == $req && count($tmp) >= 2 && !empty($tmp[1])) {
        
        $obj = $modx->getObject('modResource', array('uri' => $request));
        $modx->sendForward($obj->get('id'));
        return;
        
    } else if ($tmp[0] != $req && $tmp[0] != 'assets') {
        
        $modx->switchContext('web');
        return;
    }

}
Aslero
05 июня 2019, 17:29
modx.pro
928
0

Получение [[+files]] из Tickets

Всем привет. Прошу помощи в решении задачи…

У меня установлен Tickets. Во фронтенде есть форма с полями, которые заполняет пользователь. Так же есть 2 поля для загрузки изображений:
  • обычный input type='file' для загрузки «главного» изображения
  • поле [[+files]] для загрузки дополнительных изображений (4 штуки)
Мне нужно обработать некоторые поля через плагин с «OnDocFormSave». Если с первым полем проблем не возникает (отлавливаю через $_FILES), то со вторым — накладка. Не могу получить массив этих файлов. Мне эти изображения нужно закинуть в migx TV-поле.

Скорее всего я туплю, но прошу подсказать решение.
Александр
05 июня 2019, 16:12
modx.pro
832
0

Comparison, вывод нескольких групп сравнения товаров на одной странице

Здравствуйте.
Клиент поставил задачу реализовать сравнение товаров с разделением на несколько групп, на странице сравнения группы вывести в виде табов: гребные лодки, моторы и тп. Если клиент добавил в список сравнения несколько лодок и моторов, в одной вкладке сравниваются лодки, во второй — моторы. Проблема в том, что ссылка на страницу сравнения передает одну переменную, которая задает параметры для сравнения — сравнивать или лодки, или моторы.
Подскажите, пожалуйста, как это можно сделать?
Svetlana S
05 июня 2019, 13:00
modx.pro
952
0

Изменение типа документа в Тикете [Мозговой штурм]

Всем привет.

Нужен «мозговой штурм»… Хотелось бы понять, возможно ли так реализовать функционал или нет?

Исходные данные:

Есть созданный шаблон карточки товара с доп. полями. Как «документ» — работает отлично. Все выводится.

Увидел функционал Tickets — очень понравилось. 90% функционала, который используется в моем шаблоне, работает «из коробки», без самописных плагинов и сниппетов.
Александр
04 июня 2019, 21:58
modx.pro
1 009
0

Некорректная работа сниппета Markdown

Столкнулся со странным поведением сниппета Markdown, когда его несколько раз вызываю на странице с опцией 'escapeTags' => false (выключает экранирование тэгов MODX, чтоб всякие ссылки обрабатывались).

Выражается в том, что во все места вызова он вставляет обработанный контент первого вызова. При чем не важно что у него было на входе: 'field' => 'content' или же 'input' => $_modx->resource.content

В случаях, когда вызывается pdoResources и в чанке нужно обработать каждый introtext или контент, либо на странице нужно обработать и introtext и content, приходится, например, включать экранирование тэгов, что не очень хорошо.
Dmitry P.
04 июня 2019, 19:59
modx.pro
1 006
0

Менять товар каждые 24 часа

Добрый день, суть такова, есть отдельная страница называется — Товар дня, и у него имеется таймер 24 часа, я поставил через ТВ каждому товару чекбокс с Товар дня, подскажите пожалуйста как сделать чтоб Товар дня менялся каждые 24 часа из выбранных чекбоксов? сейчас просто вывел через просто
[[!pdoPage?
                &parents=`2,3,4`
                &where=`{"template":"6"}`
                &tpl=`tpl.spec`
                &includeTVs=`typeimg,price_spec,price_old_spec,check_price`
                &limit=`1`
                &tvFilters=`check_price==1`
                 ]]

спасибо заранее
atrox
04 июня 2019, 09:37
modx.pro
1
1 238
0

[РЕШЕНО] Мультисайтовость, поддомены и https

Здравствуйте. Настроил мультисайтовость (через поддомены), все работает кроме того, что при включении https при переходе на любой поддомен пишет Не возможно отобразить страницу
Если расскоментировать следующую строку в .htaccess

# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://site.ru/$1 [R=301,L]
Получаем перенаправление на основной домен.

Сертификат для поддомена действителен и включен

Спасибо за ответы!
MrKarandash
03 июня 2019, 19:59
modx.pro
1 260
0

Отправка письма на email указанный в форме.

Добрый день. Есть форма на сайте. Состоящая из email, name, tel. Как включить в получателя email из отправленной формы?
Alex
03 июня 2019, 17:34
modx.pro
3 539
+1

Регистрация с помощью Login

*Я новичок так что прошу не бросатся тапками
Пишу интернет магазин. Решил взять в качестве cms клиенту modx revo(так как уже была готова верстка), но застопорился на регистрации. Нашел Login, но у меня не получается его корректно вставить в шаблон(читал документацию но множество всяких значений идёт в перемешку и не понятно что из этого действительно нужно).
Как должен выглядеть код формы, что бы данные записанные в поля записывались в базу данных при нажатии на кнопку submit и можно было авторизоваться?
Марк
03 июня 2019, 04:59
modx.pro
3 511
0

PdoPage продвинутый режим отображения

Здравствуйте.

Задача очень простая отобразить пагинацию согласно скриншоту s.mail.ru/NHkD/vB5FKUx7A из технической документации

{'!pdoPage' | snippet : [
'tpl' => 'tpl.view.news.row',
'sortdir' => 'ASC'
'includeTVs' => 'image',
'tvPrefix' => ''
'limit' => 1,
'pageLimit' => 5,
'tplPageWrapper' => '@INLINE <div class="pagination"><ul class="pagination__list">{$prev}{$pages}{$next}</ul></div>',
'tplPage' => '@INLINE <li class="pagination__item"><a href="{$href}">{$pageNo}</a></li>',
'tplPageActive' => '@INLINE <li class="pagination__item active"><a href="{$href}">{$pageNo}</a></li>',
'tplPagePrevEmpty' => '@INLINE <li class="pagination__arrow disabled"><i class="ic ic-left"></i></li>',
'tplPageNextEmpty' => '@INLINE <li class="pagination__arrow disabled"><i class="ic ic-right"></i></li>',
'tplPagePrev' => '@INLINE <li class="pagination__arrow"><a href="{$href}"><i class="ic ic-left"></i></a></li>',
'tplPageNext' => '@INLINE <li class="pagination__arrow"><a href="{$href}"><i class="ic ic-right"></i></a></li>',
'tplPageSkip' => '@INLINE <li class="disabled"><span>...</span></li>' ]}
{'page.nav' | placeholder}
На текущий момент у меня 7 ресурсов, limit=1 а pageLimit=5, как я понимаю он должен включаться при выборке => 7 но он не включается.

Что нужно еще прописать, что бы в PdoPage включить продвинутый режим отображения?

Версия pdoTools 2.12.3
Версия Modx 2.7.1
Олег Щавелев
02 июня 2019, 18:41
modx.pro
1 208
0