Вопросы

Загрузка ресурса через AJAX

Добрый день!

Ситуация следующая…

Есть каталог ресурсов которые выводятся через pdoResources.

Мне необходимо сделать так, чтобы при клике на любой ресурс каталог исчезал и на его месте (в этом же контейнере) загружался ресурс через AJAX, без перезагрузки.

Нашел код который подгружает только описание ресурса ( текст)
<?php
// Если запрос не AJAX или не передано действие, выходим
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_REQUEST['action'])) {exit();}

$action = $_REQUEST['action'];

define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';

$modx->getService('error','error.modError');
$modx->getRequest();
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
$modx->error->message = null;

$output = '';
switch ($action) {
    case 'getContent':
        // Если не передан id страницы, тоже выходим
        $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0;
        if (empty($id)) {
            exit();
        };

        $object = $modx->getObject('modResource',$id);
        $output = $object->get('content');
        // Парсим теги MODX
        $maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
        $modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), $maxIterations);
        $modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), $maxIterations);
}


@session_write_close();
exit($output);
ну и сам скрипт который вешается на ссылку по клику

$(document).on('click','.read-more',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	// Вставляем полученный контент в HTML блок с id="content"
	$("#content").load("/assets/ajax.php",{action:"getContent", id:id});
});

Вопрос как добавить (в этот код или новый) вывод TV и pagetitle ресурса?

Заранее спасибо!
Алексей
23 января 2019, 15:02
modx.pro
1
1 817
0

вывод одного товара в разных категориях

Перерыл интернет так и не нашел решения, что бы вывести товар в разных категориях.
У меня товары в migx вывожу в категории
[[!getPage?
                       &elementClass=`modSnippet`
                       &element=`getProducts`
                       &className=`CustomPages`
                       &packageName=`pages`
                       &limit=`10`
                       &tpl=`prod_mainTpl`
                        
                       ]]
                       <br clear="all" />
                       <ul class="pages">
                       [[!+page.nav]]
                       </ul>
у меня есть поле где подключил снипет для выбора категорий
они выглядят таким вот образом


пытался сделать через фильтр
&tvFilters=`{"more_category:LIKE":"%#[[*id]]#%"}`
не работает так, мб кто то решал такую задачу?
Artur
23 января 2019, 09:04
modx.pro
602
0

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

Здравствуйте!
Столкнулся со следующей проблемой есть меню на сайте вызывающиеся с помощью
[[!pdoMenu?
            &parents=`0`
            &hereClass=`active`
            &level=`2`
            &where=`{"template":"1"}`
            &tplOuter=`@INLINE <ul>[[+wrapper]]</ul>` 
            &tplParentRow=`@INLINE <li [[+classes]]><a href="[[+link]]" >[[+menutitle]]</a>[[+wrapper]]</li>`
            &tplInner=`@INLINE <ul class="main_menu-[[+idx]]">[[+wrapper]]</ul>`
            &tplInnerRow=`@INLINE <li [[+classes]]><a class="paragraph-[[+idx]]" href="[[+link]]">[[+menutitle]]</a></li>`
            &tpl=`@INLINE <li><a href="[[+link]]">[[+menutitle:is=`14 февраля`:then=`<p>14 февраля</p [[+classes]]><p>15% скидка</p>`:else=`[[+menutitle]]`]]</a></li>`
        ]]

Сергей
22 января 2019, 18:06
modx.pro
1 019
0

Как в pdoNeighbors можно задать класс active первому элементу?

Пытаюсь сделать карусель из соседних ресурсов, чтобы все заработало надо указать класс active любой из ссылок
[[!pdoNeighbors?
  &id=`1294`
  &limit=`3`
  &includeTVs=`image`
  &showHidden=`0`
  &outputSeparator=``
  &hideContainers=`1`
  &tplPrev=`@INLINE <span class="link-prev"><a href="/[[+uri]]">&larr; [[+menutitle]]</a></span>`
  &tplNext=`@INLINE <span class="link-next"><a href="/[[+uri]]">[[+menutitle]] &rarr;</a></span>`
  &tplWrapper=`@INLINE <div class="neighbors">[[+prev]][[+next]]</div>`                  
]]
но как?
Ксения
22 января 2019, 11:43
modx.pro
2 133
0

Порядок табов редактирование ресурса

Возможно ли изменить порядок табов на странице редактирования ресурса? Есть ли у кого готовые подобные наработки?



И возможно ли переместить стандартное поле ресурса в эту область через кастомизацию форм?

Виталий
22 января 2019, 08:07
modx.pro
1 083
0

Отдельный список приложений для Контент менеджера

Добрый день!
Как дать доступ Контент-менеджеру для некоторых приложений в админке?
Знаю что можно сделать отдельный пункт меню и туда перетащить приложения, но тогда так же будет и у Администратора отображаться.

Можно ли как то просто дать доступ к некоторым приложениям и все, чтобы они так же отображались в меню «Приложения». У Администратора сайта, полный список, у Контент менеджера урезанный.

???
Андрей Шевяков
21 января 2019, 18:04
modx.pro
1
1 431
0

Количество товаров в зависимости от разрешения экрана

У меня формируется список товаров с помощью mfilter2. Вывод таблицы в десктопной и мобильной версии отличается, т.к. в мобильной строка с заголовком не помещается на экране, было принятно решение сделать её столбцом.
В десктопной версии выводится по умолчанию 10 товаров. В мобильной в зависимости от разрешения экрана должно быть 768px — 5, ниже ширина — меньше товаров, 320px — 2.
Попытался сделать так (хотя бы 5 сначала выводить на всех мобильных разрешениях):
{if 'mobile' | mobiledetect}
        {set $limit = 5}
    {/if}

    {if 'standard' | mobiledetect}
        {set $limit = 10}
    {/if}

        [[!mFilter2?
            &limit=`{$limit}`
            &tpl=`type-item`
		...
        ]]
Но не работает. В мобильной версии выводит всё равно 10. Следующие 5 (3, 2) столбца товаров ниже.
Как сделать, чтобы работало, как должно быть?

— это десктопная версия
— мобильная
Владимир
21 января 2019, 17:27
modx.pro
1 399
0

Вызов хранимой процедуры

Подскажите, как в MODX сделать вызов хранимой процедуры с передачей внутрь параметра?

$xpdo = $modx->newQuery('UserTest');
$numericId = intval($_REQUEST['ID']);
$xpdo->query(«CALL calc_values({$numericId})»);

Вот такое не работает, хотя вроде должно
Анастасия
21 января 2019, 17:22
modx.pro
885
0

Tickets - добавление файла при редактировании записи

Добрый день.
Не могу победить ошибку, возникающую при добавлении файла в форме редактирования тикета.
При создании новой записи все работает нормально (запись создается и файлы добавляются), но при редактировании этого тикета и при попытке добавить файл — ошибка "Доступ запрещен."

Евгений Пашков
21 января 2019, 17:19
modx.pro
1 542
0

Модификация товара как самостоятельный товар (ms2)

Приветствую!
Как реализовать, чтобы у товара с модификацией была отдельная страница. А товар-родитель имел ссылки на все модифицированные товары?
Допустим, есть шина Nokian Hakka Blue (родитель) и у нее размеры: 175/70R13, 205/55R13 (дочерние товары, складываются из комбинации опций). Надо чтобы на товаре-родителе был список ссылок на эти дочерние товары.
Есть вариант сделать, чтобы родитель был категорией, но чувствую, что это не правильно.
Ivan
21 января 2019, 15:26
modx.pro
763
0