t.g · 23 июля 2017, 22:47 Делал AMP страници через подмену шаблона при наличии get параметра ?amp, только со страницами блога. Пример url: https://sitename.com/articles/articles-name.html?ampУсловие замены шаблона. (возможно кто-то подскажет как его немножко улучшить, не знал как взять id шаблона текущей страницы одним запросом) $id = $modx->resource->get('id'); // Get current page id $resource = $modx->getObject('modResource',$id); // Get current object $template = $resource->get('template'); // Get current page template if($template == 5 && isset($_GET['amp'])) { $modx->resource->set('template', 23); } $modx->resource->cacheable = false; // Disable cacheВажно выключить кэширование, чтобы изменение шаблона не закешировалось. Повесил на событие (OnLoadWebDocument) Валидацию с get параметром проходит. search.google.com/test/amp Вопросы / Amp для modx 18 +1 2
gluck · 04 июня 2017, 11:54 Да, вручную, я смоделировал работу редактора. Полчаса назад сделал точно как вы описали здесь, только еще добавил и время создания. Мало ли редактору захочется написать > 1 новости сегодня… if ( $resource->get('parent') == 9 && $mode == 'new') { $resource->set('alias',$resource->get('alias').'-'.$resource->get('createdon')); }Повесился только на один OnBeforeDocFormSave, это было ключевым моментом, спасибо за подсказку. Если повеситься на несколько событий — не происходило ничего. Вопросы / [solved] Почему могут не обрабатываться события? 19 0 1
Роман Ильин · 09 мая 2017, 09:24 Спасибо! Нашел еще такой короткий вариант: {$imgurl | phpthumbon : "w=556&h=376&zc=1&q=61"} Небольшой вопрос вдогонку. Как в Fenom сделать конкатенацию строк? Вопросы / Вопрос о Fenom и переменных 8 0 2
Максим Кузнецов · 10 апреля 2017, 08:29 Не нужно 2 раза вызывать один и тот же сниппет: {set $result = $_modx->runSnippet('!pdoResources', [ 'parents' => id родителя ])} {if $result | length > 0} {$result} {else} //если вывода нет {/if} Вопросы / Как правильно поставить условия в MODX Revo 11 +3 2
Василий Stepanov · 02 апреля 2017, 04:18 Сделал вот так. Работает. //собираем заголовки из категории ресурсов $docfind = $modx->getCollection('modResource',array('parent' => '19')); foreach ($docfind as $k => $res) { $title_m = $res->get('pagetitle'); $titles[] = $title_m; } $path = 'http://www.amur.info/index.rss'; $ctx = stream_context_create(array('http' => array('timeout' => 6))); $file = file_get_contents($path, 0, $ctx); if ($file) { $rss = simplexml_load_string($file); $i = 0; foreach ($rss->channel->item as $item){ $namespaces = $item->getNameSpaces(true); $yandex = $item->children($namespaces['yandex']); $full_text = (string)$yandex->{'full-text'}; //полный текст статьи $title = $item->title; //заголовок статьи $pubdate = $item->pubDate; //дата публикации $link = $item->link; //ссылка на новость //создаем ресурсы в MODX, если ресурсов с такими заголовками еще нет if (in_array($title, $titles) == false) { $response = $modx->runProcessor('resource/create', array( 'pagetitle' => $title, 'longtitle' => $pubdate, 'description' => $link, 'introtext' => '', 'content' => $full, 'template' => $template, 'hidemenu' => 1, 'published' => 1, 'parent' => '19' )); } $i++; if ($i == 5) break; } } Вопросы / Парсинг RSS и создание новых ресурсов 4 +1 2
Aleksandr Suslov · 15 февраля 2017, 14:51 Спасибо большое. Ссылка помогла. Если вдруг найдется такой же неуч, как я вот правильный код вывода: $user = $modx->getObject('modUser', 3); $profile = $user->getOne('Profile'); $extended = $profile->get('extended'); $comn = $extended['company_name']; print($comn); Вопросы / Вывод значения из доп.поля modUser (API) 2 0 1
ck · 31 января 2017, 14:27 Сам себе отвечу: в текущей версии msProductOptions есть параметр &onlyOptions. Его и нужно использовать. Вопросы / Вывод определенной опции minishop2 8 0 1
charset · 21 декабря 2016, 22:29 уже не нужно. Нашел в коде, если кому интересно: Телефон покупателя: {$address.phone} Email покупателя: {$user.email} Способ доставки: {$delivery.name} Тип оплаты: {$payment.name} Комментарий к заказу: {$address.comment} Новые дополнения и их версии / [miniShop2] Версия 2.4.0 rc 193 +1 2
Андрей · 09 ноября 2016, 01:07 Элементарно нужно уметь читать: https://docs.modx.pro/components/minishop2/interface/item#Опции-товара https://docs.modx.pro/components/minishop2/interface/settings#Опции-товаров Вопросы / 2 цены для товара miniShop2 29 0 1
but1head · 08 ноября 2016, 20:58 <?php if($modx->event->name != 'msOnGetProductPrice') return; if($modx->user && $modx->user->isMember('Wholesaler')){ $values = & $modx->event->returnedValues; $resource = $modx->getObject('msProduct', $product->id); $wholesale_price = $resource->getTVValue('price_opt'); if($wholesale_price){ $values['old_price'] = $values['price']; $values['price'] = $wholesale_price; } }Элементарная оптовая цена для юзеров в группе «оптовик», сделаная через tv, 3 минуты работы. Очень сложно? Важное качество программиста «гуглить», а не просить сделать других его работу. Не умеете — не беритесь. Вопросы / 2 цены для товара miniShop2 29 0 2
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Пример url:
Условие замены шаблона. (возможно кто-то подскажет как его немножко улучшить, не знал как взять id шаблона текущей страницы одним запросом)
Важно выключить кэширование, чтобы изменение шаблона не закешировалось.
Повесил на событие (OnLoadWebDocument)
Валидацию с get параметром проходит.
search.google.com/test/amp
Полчаса назад сделал точно как вы описали здесь, только еще добавил и время создания. Мало ли редактору захочется написать > 1 новости сегодня…
Повесился только на один OnBeforeDocFormSave, это было ключевым моментом, спасибо за подсказку. Если повеситься на несколько событий — не происходило ничего.
Нашел еще такой короткий вариант:
Небольшой вопрос вдогонку. Как в Fenom сделать конкатенацию строк?
Если вдруг найдется такой же неуч, как я вот правильный код вывода:
$user = $modx->getObject('modUser', 3);
$profile = $user->getOne('Profile');
$extended = $profile->get('extended');
$comn = $extended['company_name'];
print($comn);
Телефон покупателя: {$address.phone}
Email покупателя: {$user.email}
Способ доставки: {$delivery.name}
Тип оплаты: {$payment.name}
Комментарий к заказу: {$address.comment}
https://docs.modx.pro/components/minishop2/interface/item#Опции-товара
https://docs.modx.pro/components/minishop2/interface/settings#Опции-товаров
Важное качество программиста «гуглить», а не просить сделать других его работу. Не умеете — не беритесь.