Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68

Как обновить дату редактирования ресурса в котором публикуется цепочка сообщений easyComm при нажатии в админке кнопки сохранить?

Как обновить дату редактирования ресурса в котором публикуется цепочка при публикации отзыва или ответа на вопрос (редактировании ответа на вопрос), в общем при нажатии в админке кнопки сохранить?

Нужно для правильной работы LastModified, так как публикация отзыва или ответа на вопрос является изменением документа.

В каком файле это можно сделать и где именно, или надо сниппет или плагин свой делать?
Дмитрий
09 декабря 2019, 19:10
modx.pro
2
1 312
0

[SelectFilters] - выбор фильтров для mFilter2



Всем привет, написал простенькое дополнение которое решает одну очень надоевшую проблему — клиент не может выбирать какие опции miniShop2 попадут в фильтр товаров mFilter2. В общем дополнение добавляет чекбокс в окно создания и редактирования опций, в комплекте также сниппет подготовки поля 'filter'
Pavel Zarubin
03 декабря 2019, 18:58
modx.pro
6
2 431
+15

[msPromoCode2] Кейс. Установка промо-кода программно при входе на сайт


Мало кто знает, что msPromoCode2 можно использовать и как компонент для скидок на товары, без обязательного ввода промо-кода юзером. Всего лишь нужно написать маленький плагин, взаимодействующий с программным API. В этом посте предлагаю данный кейс.

К сожалению, никак не успеваю пополнить раздел API, пусть этот пост станет началом!
Павел Гвоздь
03 декабря 2019, 08:21
modx.pro
5
1 041
+12

Плюс и минус в каунте корзины MS2

Досточно простой вопрос, который мучает начинающих разработчиков. Решил поделиться решением, как сделать кнопки плюс и минус в корзине MS2. Что бы все было «по-фуншую»

Начнем c разметки. Я показываю на страндартной теме MS2. Вносим правки в чанк tpl.msCart

...
<td class="count">
<form method="post" class="ms2_form" role="form">
  <input type="hidden" name="key" value="{$product.key}"/>
  <div class="form-group">
    <div class="input-group input-group-sm qty">
      <span class="input-group-prepend">
      <span class="input-group-text minus input_count_action">-</span>
      </span>
      <input type="number" name="count" value="{$product.count}" class="form-control"/>
      <span class="input-group-append">
      <span class="input-group-text plus input_count_action">+</span>
      <span class="input-group-text">{'ms2_frontend_count_unit' | lexicon}</span>
      </span>
    </div>
      <button class="btn btn-sm" type="submit" name="ms2_action" value="cart/change">
      ↻</button>
  </div>
</form>
</td>
...
Олег Щавелев
02 декабря 2019, 02:08
modx.pro
14
3 043
+8

Docs. Подготовка к обновлению MODX с 2.x до 3.0



Всем привет!

В связи с скорым релизом альфа версии MODX 3.0 — @Mark Hamstra начал готовить новую документацию по обновлению с версии 2.x до 3.x, а я соответственно начал переводить все для нашего русскоговорящего сообщества.
Иван Бочкарев
28 ноября 2019, 09:52
modx.pro
6
1 985
+39

Вывод pdoResources в ячейке Collections в админке

Добрый день, уважаемые коллеги! Продолжаю страдать от собственного перфекционизма, прошу спасити!
Есть ресурс, тип Коллекция, выводит дочерние ресурсы. Внутри каждого дочернего ресурса, есть TV в котором выбираются другие ресурсы от некого родителя (артисты, участвующие в ивенте из раздела артистов).
Если просто выводить в ячейку содержимое этого TV, то выводится только ID ресурса, а хочется что б выводилось по этим ID например pagetitle и longtitle этих ресурсов, ну может еще какой TV от них, ну, видимо с помощью pdoResources.
Заказчику так-то это вообще не интересно, но вот мне хочется что б всё было тип-топ, как в аптеке.
Прошу помочь, заранее сердечно благодарю!
Серый
27 ноября 2019, 17:08
modx.pro
1
840
0

Выведение опций товара по категориям

Сниппет msProductOptions выводит товары общим массивом. В принципе, никто не запрещает в чанке вывода делать с этим массивом всё что угодно, в том числе и делить по категориям. Однако всё чаще поступает запрос от клиента не только вывести категории, но и соблюсти их сортировку.

Для этих целей мне пришлось msProductOptions переписать. Мой вариант сниппета воспроизводит запрос msProductData::loadOptions с сортировкой по полю rank категории, затем группирует все опции по категориям с соблюдением сортировки самих опций.
mngatoff
24 ноября 2019, 06:44
modx.pro
8
2 659
+6

Смена шаблона через плагин

Добрый день, что-то не получается разобрать со сменой шаблона через плагин при загрузке страницы

case 'OnLoadWebDocument':
		$id = $modx->resource->get('id');
		$resource = $modx->getObject('modResource',$id);
		$resource->set('template', 4);
		$resource->save();
break;
Шаблон меняется в админке и все бы хорошо, на на странице сайта указанный шаблон применяется только после второго захода, т.е получается, что смена шаблона происходит после отображения страницы.

В чем проблема, надо вызывать плагин не для OnLoadWebDocument? или в чем-то другом проблема?
Ilya Ev
22 ноября 2019, 16:01
modx.pro
1
2 146
0

Можно ли изменить стоимость заказа перед переходом к оплате?

Приветствую!
Подскажите, есть ли способ изменить стоимость заказа (а лучше доставки отдельно), перед переходом к оплате (после того, как пользователь нажал «Сделать заказ!»? Сколько искал, не нашёл в сети похожих примеров.
Овчинников Егор Эдуардович
modx.pro
2
809
0

[Решено]: pdoResources &where сортировка по дате

Уж сколько копий изломано по этому параметру(а прежде и по &tvFilters), вот очередная похожая проблема,
все что мог выискал, вычитал, в ядро дальше копать? Подскажите, чего я не вижу.

Есть события, у каждого в двух TV — время начала и окончания события. Как известно, они хранятся не в timestamp. Нужно выводить только те, у которых дата завершения еще не наступила.

В тестируемом контейнере событий всего 10, и только одно еще не завершилось.Сниппет currentDate возвращает просто метку времени через time().

Вызов сниппета:
{'!pdoResources' | snippet : [
	'select' => '{"modResource":"id,pagetitle"}',
	'tpl' => 'marketEventTpl',
	'level' => '1',
	'limit' => '100',
	'tvPrefix' => '',
	'includeTVs' => 'EventStart,EventEnd',
	'templates' => '17',
	'sortby' => '{"EventStart":"ASC"}'
	'where' => 'UNIX_TIMESTAMP(EventEnd) > "[[!currentDate]]"'
	'showLog' => '1'
]}
Лог результата:
0.0000610: pdoTools loaded
0.0000160: xPDO query object created
0.0004399: Included list of tvs: EventEnd, EventStart
0.0001340: leftJoined modTemplateVarResource as TVeventend
0.0001180: leftJoined modTemplateVarResource as TVeventstart
0.0000529: Added selection of modResource: `id`, `pagetitle`
0.0000050: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `EventEnd`
0.0000041: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `EventStart`
0.0000520: Replaced TV conditions
0.0003431: Processed additional conditions
0.0005569: Added where condition: 0=UNIX_TIMESTAMP(`TVeventend`.`value`) > "1574334058", modResource.parent:IN(8,29,286,310,311,312,292,313,314,315,293,308,309), modResource.template:IN(17), modResource.published=1, modResource.deleted=0
0.0000060: Replaced TV conditions
0.0001009: Sorted by CAST(`TVeventstart`.`value` AS DATETIME), ASC
0.0000021: Limited to 100, offset 0
0.0001509: SQL prepared "SELECT `modResource`.`id`, `modResource`.`pagetitle`, IFNULL(`TVeventend`.`value`, '') AS `EventEnd`, IFNULL(`TVeventstart`.`value`, '') AS `EventStart` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventend` ON `TVeventend`.`contentid` = `modResource`.`id` AND `TVeventend`.`tmplvarid` = 149 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventstart` ON `TVeventstart`.`contentid` = `modResource`.`id` AND `TVeventstart`.`tmplvarid` = 148 WHERE  ( UNIX_TIMESTAMP(`TVeventend`.`value`) > "1574334058" AND `modResource`.`parent` IN (8,29,286,310,311,312,292,313,314,315,293,308,309) AND `modResource`.`template` IN (17) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY CAST(`TVeventstart`.`value` AS DATETIME) ASC LIMIT 100 "
0.0012290: SQL executed
0.0000150: Rows fetched
0.0012670: Prepared and processed TVs
0.0005660: Loaded "modChunk" with name "marketEventTpl"
0.0079620: Compiled Fenom chunk with name "modchunk/8"
0.0120490: Returning processed chunks
0.0162890: Total time
8 388 608: Memory usage
Выводит все 10. Удивительно то, что если скормить формируемый SQL запрос напрямую в базу, получаем желаемый один результат!
Антон Тарасов
21 ноября 2019, 14:08
modx.pro
1
1 130
0