Показаны сообщения с ярлыком Modx. Показать все сообщения
Показаны сообщения с ярлыком Modx. Показать все сообщения

пятница, 29 мая 2015 г.

Запрет редактирования значения тв-параметра в админке

На сайте есть тв-параметр, значение которого для каждого товара рассчитывается плагином автоматически при сохранении товара.
Чтобы у пользователя не было соблазна его заполнить или отредактировать, можно заблокировать его для редактирования следующим способом.

пятница, 13 марта 2015 г.

Правильная настройка плагина TransAlias

Важно настроить плагин TransAlias во время разработки сайта, чтобы потом при создании документов в alias не попадали точки, спецсимволы, и все псевдонимы документов были прописаны латиницей.

конфигурация плагина TransAlias

пятница, 27 февраля 2015 г.

Полное удаление товаров вместе с тв-параметрами из БД

Если нам необходимо удалить все товары из магазина, но категории при этом сохранить, пишем sql-запрос в базу:

DELETE modx_site_content, modx_site_tmplvar_contentvalues FROM modx_site_content, modx_site_tmplvar_contentvalues WHERE modx_site_content.id = modx_site_tmplvar_contentvalues.contentid AND modx_site_content.template =10

четверг, 29 января 2015 г.

Автоматическое обновление цен по курсу НБРБ в MODX

Постановка задачи
Есть интернет магазин с товарами (shopkeeper). Необходимо сделать так, чтобы при добавлении товара, цену клиент вводил в евро, а на сайте она отображалась в белорусских рублях по текущему курсу нацбанка с прибавлением 2% к нему.

Решение
Создаем в админке ресурс "Курс евро к белорусскому рублю" и, например, в longtitle этого ресурса будет записываться текущий курс. Это удобно тем, что кроме автоматической привязки к курсу, клиент может также при необходимости выставлять его и вручную.

Очистка кэша в MODX API

Основная функция очистка кэша в MODX API:
$modx->clearCache();
Удаляются файлы с кэшем всех документов, но индексный файл кэша не изменяется.


Функция полной очистки кэша для версий выше 1.0.13:
$modx->clearCache('full');

Функция полной очистки кэша для версий ниже 1.0.13:
function clearCache() { global $modx; $modx->clearCache(); include_once MODX_MANAGER_PATH . 'processors/cache_sync.class.processor.php'; $sync = new synccache(); $sync->setCachepath(MODX_BASE_PATH . "assets/cache/"); $sync->setReport(false); $sync->emptyCache(); }


Источник http://docs.evolution-cms.com/Develop/API/clearCache

среда, 29 октября 2014 г.

Шпаргалка по MODx API

Каждый раз, когда пишу сниппет и ищу какую-нибудь информацию, натыкаюсь на эту статью на community.modx-cms.ru и она всегда помогает. Чтобы не тратить каждый раз время на ее поиски, публикую здесь:
<? 
   // Получить и установить значение плейсхолдера
   $var=$modx->getPlaceholder('placeholder_name');
   $modx->setPlaceholder('placeholder_name', $var);

   // Вывод плейсхолдера в HTML
   ?>
      [+placeholder_name+]
   <?

среда, 15 октября 2014 г.

Последние просмотренные товары (страницы)

Оптимизированный вариант. За основу взят сниппет отсюда. По сути отличается тем, что сниппетом мы выводим только id страниц, а далее обрабатываем их с помощью Ditto. Таким образом решается проблема добавления изображений и цен к последним просмотренным товарам. А также исправлены ошибки добавления товаров в куки (функция array_shift заменена на функцию array_pop).

четверг, 9 октября 2014 г.

Обрезание длины строки

Уже описывала здесь один из способов обрезать строку до необходимого количества символов с помощью jQuery. Но также это можно сделать и сниппетом.

Создаем сниппет truncate со следующим кодом:
<?
php $len= isset($len) ? $len: 50;
$text= isset($text) ? $text: '';
$text= strip_tags($text); // удаление тегов html
$order = array("\r\n", "\n", "\r");

понедельник, 29 сентября 2014 г.

Арифметические операции над tv-параметрами

Появилась необходимость выводить к услуге цену такой, как она хранится в tv-параметре и цену, к которой прибавлено 40%.

Создадим сниппет price:
<?php
$id=$document['id'];
$document_tvs=$modx->getTemplateVarOutput(true, $id);
$templatevar_output=$document_tvs['price_group'];
$output = round((str_replace(" ","",$templatevar_output)/0.6),-4);
echo $output;
?>

среда, 24 сентября 2014 г.

Пользовательский модификатор phx для удаления пробелов

Появилась необходимость выгрузки каталога на сайте одного из клиентов в Яндекс.Маркет.
Для этого воспользовалась уже описанной ранее инструкцией, но Яндекс не принял некоторые позиции, т.к. их цены были введены с пробелами, например "1 000 000".

среда, 3 сентября 2014 г.

Добавление магазина MODx в каталог Яндекс Маркета



В данной статье мы подробно рассмотрим создание YML-файла для магазинов, построенных на CMS MODx Evo. Для этого мы воспользуемся сниппетом Ditto, входящим в MODx.

пятница, 29 августа 2014 г.

Интерактивная карта Яндекса со множеством объектов

Для modx evo официальный сайт яндекса предлагает пользоваться сниппетом ddYMap. В некоторых случаях он может быть полезен, но с его помощью можно вывести на карте только один объект. К тому же сниппет не поддерживает добавление балуна у объекту.

Сделаем свою карту с помощью Яндекс API.

пятница, 1 августа 2014 г.

Вывод TITLE для SEO

Для SEO важно, чтобы тег title был прописан на всех страницах сайта. Прописывать его вручную для каждой страницы может быть утомительно, в особенности если сайт содержит тысячи страниц, поэтому немного автоматизируем это дело.

пятница, 11 июля 2014 г.

Пример вывода меню с помощью Wayfinder

Постоянно забываю, где какие стили и шаблоны нужно использовать, когда делаю многоуровневое меню с Wayfinder, поэтому публикую памятку:

Вызов сниппета:
[[Wayfinder? 
&startId='0' 
&excludeDocs='1' 
&level='2'
&rowTpl='row-tpl'
&innerTpl='inner-tpl'
&innerRowTpl='inner-row-tpl'
]]