Dolce

Dolce

С нами с 30 июня 2016; Место в рейтинге пользователей: #107

пагинация getPage - выводится при отсутствии пагинации

Здравствуйте. В категориях выводится товар с помощью getProducts обвернутого в getPage
Когда лимит страниц превышает указаны в настройках getPage лимит — выводится пагинация, стилизованная как указано в настройках. Но если товаров на странице меньше, чем лимит у getPage — пагинация не должна появляться, а она появляется, причем стандартная, не стилизованная — без настроек, то есть ее вызывает плейсхолдер [[!+page.nav]]
Пробовал переустанавливать getPage и getProducts — ничего не дает.
Размещаю плейсхолдер [[!+page.nav]] на любых других страницах, где вообще нет вывода getPage или getProducts и на этом месте получаю пагинацию. Хотя на других сайтах в таком случае ничего не выводится — как и должно.
По сути плейсхолдер [[!+page.nav]] просто генерирует код пагинации, где бы его не вызвать.
Возможно кто-то сталкивался с такой ситуацией?
UPD
Начал удалять все сниппеты которые отвечают за вывод ресурсов -getProducts, getPage, getResources и pdoTools и вот после удаление pdoPage панагия по плейсхолдеру пропала, то есть это pdoTools дает
Dolce
03 мая 2018, 09:40
modx.pro
1
998
0

Управление свойствами ресурсов через родителя

Здравствуйте. Скажите пожалуйста, как можно изменить, допустим, шаблон у ресурса через его родителя?
Опишу подробнее, что имею ввиду:
У категории есть TV
Параметры вывод:
Список(множественный выбор)
Возможные значения:
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `template` IN  (3) AND `parent` = "[[+id]]"
Это позволяет в его значения получить вложенные в эту категорию ресурсы

Теперь же у выбраных ресурсов должен изменятся шаблон с 3 на 4, допустим, и обратно, если ресурс удалить из списка, то он должен вернуться с шаблона 4 на шаблон 3.
Понимаю что это это необходимо реализовать через плагин, который будет делать это при сохранении родителя. Подскажите пожалуйста примерный код такого плагина для дальнейшего колупания, к сожалению знания не позволяют написать самому с нуля
Dolce
21 апреля 2018, 07:29
modx.pro
1
1 627
+1

msFavorites - визуальное отображение если список не пуст

Здравствуйте. При добавлении товара(ресурса) в список избранного у тега с классом msfavorites, который добавлен в список, добавляется класс voted, через такое изменение можно обозначить визуально, какой товар добавлен в список а какой нет, вот тут так и делается
msfavorites.vgrish.ru/
В моем случае, в шапке сайта есть значок-ссылка, которая отправляет нас на страницу со списком избранного, по дизайну, если список пуст, то иконка одна, а если в списке есть хоть один товар, то иконка другая — визуально активная. Как я и говорил, поменять иконку на кнопке которая добавляет товар можно через класс voted, а как можно поменять иконку в шапке? Там никакие классы не добавляются
В документации лишь описывается как вывести количество товаров в списке, вот что сейчас у меня в в шапке
Dolce
12 апреля 2018, 15:12
modx.pro
1
1 405
-1

Проверка TV из сниппета

Здравствуйте. Подскажите пожалуйста. Есть ресурсы modx за ними закреплены три TV с фотографиями,
у всех есть как минимуму по одному заполненному TV, остальные как дополнительные, у каких-то ресурсов они заполнены, у каких-то нет. Хотелось бы написать небольшой сниппет, который будет смотреть, какие тв заполнены — те и выводить, а пустые пропускать. Некое подобие галереи. К сожалению знаний не хватает, вот пока какие-то наброски, хочу хотя бы получить список этих тв:
<?php
//Получаю id ресурса
$id = $modx->resource->get('id');

//Условие для выборки
$where = array(
       'contentid' => $id
       , 'tmplvarid:IN' => ["2,37,38"] // Можно ли так передать несколько tv для выборки?
     );

//Получаю TV
$tv = $modx->getObject('modTemplateVarResource', $where);
//return $tv->get('value');

//Хочу проверить, пробежаться в цикле, посмотреть что навыбирало
//Тут выводится первое tv из условия
while($tv){
    return $tv->get('value');
}
//Тут ничего не выводится
foreach($tv as $key){
     return $key;
}
Подскажите, как можно реализовать такую задачу со своим сниппетом?
Dolce
30 марта 2018, 09:01
modx.pro
2 905
0

pdoResources - получить пустой вывод

Здравствуйте. Есть блок, аля — «Рекомендуемые товары», он выводится вот так:
[[!pdoResources?
                        &tpl=`cat__topSell--item`
                        &context=`catalog`
                        &resources=`[[*cat__topSell]]`
                        
]]
В ТВ cat__topSell — приходит список ресурсов, которые нужно вывести в каждой категории. Но есть категории, в которых не нужно выводить этот блок — у этих категорий cat__topSell пустой, но в таком случае pdoResources сам выводит вложенные в него ресурсы, а нужно что бы он не выводил ничего, не подскажете, нет ли такой настройки? Я раньше пользовался другими решениями, по типу pdoResources и вот там, если ничего не передавалось, то ничего и не выводилось, но уже привык к pdoTools, хотелось бы на нем и остановиться=)
Dolce
29 марта 2018, 13:21
modx.pro
2 254
0

Перебор и изменение значений из modResource

Здравствуйте. Подскажите пожалуйста. Есть множество карточек товаров modResource, в полях introtext у них вписаны краткие характеристики и разделены они по ";". Сейчас есть необходимость взять каждую характеристику в теги
<li></li>
. Возможно напрямую обратится к базе данных, прогнать код через скрипт и записать обратно? Я новичке в php, а тем более в api modx. Не подскажите как правильно получить значения из базы, по полю template, пройтись по выборке циклом и записать обратно? Возможно кто-нибудь поделится наводящими ссылками
UPD.
Вроде получил необходимые ресурсы
$q = $modx->newQuery('modResource');
$res = $q->where(array('template' => "3"));
Теперь задача получить и изменить поля «introtext»
Dolce
24 марта 2018, 14:36
modx.pro
1 067
0

autoRedirector - редирект при удалении или редирект по маске

Здравствуйте. Замечательный модуль autoRedirector создает правила для редиректов при переносе ресурсов и изменении УРЛ. А можно ли его так настроить, что бы при удалении ресурсов, с этих ресурсов происходил редирект на, допустим, страницу с id = 1?
Или же возможно можно создать правило для редиректов, только не с конкретного УРЛ, а по маске. Пробовал так, но не работает:
/udaljaemiy-url*
/udaljaemiy-url~
Dolce
23 марта 2018, 20:30
modx.pro
1
1 644
+1

Сортировка в pdoResources

Здравствуйте. Возможно очевидный вопрос, но не могу понять. Есть вот такой вот вывод ресурсов:
[[!pdoPage?
    &tpl=`popCat__item`
    &element=`pdoResources`
    &context=`catalog`
    &parents=`11,4`
    &resources=`[[*popCat__list]]`
    &level=`1`
    &templates=`2`
    &limit=`12`
    &includeTVs=`[[*popCat__list]]`
   // &sortby=`{"popCat__list":"ASC"}`    
]]
Необходимо вывести ресурсы именно в том порядке, в котором они приходят в TV — [[*popCat__list]]
Подскажите, как это сделать?
Dolce
23 марта 2018, 17:06
modx.pro
1
2 477
0

Условие выборки

Здравствуйте. Подскажите пожалуйста, есть плагин который производит манипуляции с ресурсами по условию. Вот код:

$where = $modx->newQuery('modResource');
            $where->where(array(
                'template' => 4,                
                'published' => 1
));
Все работает хорошо, но в этой выборке можно указать один шаблон, можно ли как-то указать несколько шаблонов? Пробовал вот так:

'template' => [4,11,12,13],
Но так не получается, подскажите, как расширить выборку до нескольких шаблонов?
Dolce
17 февраля 2018, 11:34
modx.pro
756
0

pdoMenu условия для where

Здравствуйте. Подскажите пожалуйста, етсь меню которое выводится вот так:
<nav class="topMenu layout__topMenu">
    <a href="#" class="topMenu__control">Меню</a>
[[pdoMenu?
    &parents=`0`
    &level=`1`
    &tplOuter=`menuTop__tpl--outer`
    &tpl=`menuTop__tpl--line`
    &where=`{"template":1,"OR:template:=": 3}`
    &firstClass=`topMenu__link topMenu__link--first`
    &rowClass=`topMenu__link`
]]
</nav>
Все выводится как нужно, в меню попадают ресурсы у которых шаблон равен 1 И 3, то есть И те И те. Теперь же мне нужно добавить в условие еще и шаблон под номером 7, то есть в меню попадают ресурсы с шаблонами 1, 3, 7.
Пробую писать так:
&where=`{"template":1,"OR:template:=": 3,"OR:template:=": 7}`
Но не работает, пробовал еще множество вариантов, но видимо я что-то делаю не так, меню ведет себя по странному. Подскажите, как правильно прописать условие для выборки.
Dolce
12 февраля 2018, 12:29
modx.pro
1
5 390
0