0.00
97 читателей, 71 топик

Сниппет микрогалереи

Иногда бывает нужно сделать галлерею на странице, собрав изображения из конкретной папки, ну или например организовать заготовку для слайдера, при этом не заморачиваясь c множеством TV или разметкой.
Этот сниппет прекрасно справится.

Читать дальше →

[EVO] Двойные кавычки в introtext

Поймал такую фичу.
Если в introtext есть двойные кавычки и в шаблоне выводим tv desc
<meta name="description" content="[*desc*]" />
верстка разваливается потому что получаем
<meta name="description" content="интр"от"екст" />


Пробовал применить виджет(HTML Entities) но там обработка происходит до того как тег [*introtext*] преобразован в значение.
Пока остановился на таком решении

Параметры TV desc
Значение по умолчанию оставляю [*introtext*]
Визуальный компонент: «Custom Widget»
Свойства компонента (widget):
@EVAL: 
if ($value == "[*introtext*]"){
$doc = $modx->getPageInfo($modx->documentIdentifier,'1','introtext');
$value = htmlentities($doc['introtext'], ENT_QUOTES, $modx->config['modx_charset']);
}
return $value;


P.S. Забыл уточнить, еще в интротекст должны быть теги
Например
dfhdhdhd"fjftjftjtf"<p>tfhjfjftjt</p>

[EVO] Переместим админку? Легко

Давно хотел иметь возможность изменять адрес админки и причин тому несколько.
  • Конфликт адреса с ispmanager
  • Безопасность сайта через скрытие инфомрации
  • Руки чесались
И когда я созрел до этого выяснилось, что переместить админку evolution не так уж и сложно. Более того, даже в ядре MODX уже заложена функция MODX::getManagerPath()

Читать дальше →

[EVO] Превью новости из контента статьи

Приветствую новое сообщество Modx. Наконец-то свершилась моя давняя мечта. удобный сайт по Modx с разделением на ветки!
В первые пишу в сообществе не вопрос. Поэтому если что, то уж сильно не пинайте.

На днях на одном сайте понадобилась возможность автоматической подстановки картинки из контента статьи в превью. Так уж получилось что клиенту лень подставлять картинку в тв-параметр.
Тут я вспомнил что что-то подобное было под wordpress, начал искать решения под Modx. но ничего не нашел (может плохо искал, не знаю). И вот вчера вечерком написал небольшой сниппет для этих целей. Код сниппета ниже:


Читать дальше →

[EVO] Yandex map кластера




Код позавчера написал, вывод точек по кластэрам


<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<h2>Наши клиенты в Москве</h2>
<div id="map" style="width:630;height:600px;display:block;overflow:hidden;position:relative"></div>

<script type="text/javascript">
  ymaps.ready(init);
  var myMap;
  var placemarks = [];
  var placemark = [];
  function init(){     
    myMap = new ymaps.Map ("map", {center: [65.49866,80.58489],zoom: 3,});
    myMap.controls.add('zoomControl').add('typeSelector').add('mapTools');
    myMap.controls.add(new ymaps.control.ScaleLine()).add(new ymaps.control.MiniMap({type: 'yandex#publicMap'}));
     
    var cluster = new ymaps.Clusterer({clusterDisableClickZoom: true});
    var collection = new ymaps.GeoObjectCollection();
    
    [!Ditto?startID=`166`  &orderBy=`menuindex ASC`  &tpl=`marker`!]
      
    cluster.options.set({gridSize: 30});
    cluster.add(placemarks);
    myMap.geoObjects.add(cluster);
  }
</script>

=============================================================
чанк {{marker}} для дитто
=============================================================
var i =[+ditto_iteration+];

placemarks[i] = new ymaps.Placemark([ [+Gmap+] ],
 {
	balloonContentHeader: '[+gorod+]',
	balloonContentBody: '[+pagetitle+]
[+content+]'
},{iconContent: 'Метка 2'});

[REVO] SimpleSearch 1.5.2 pl кодировка результата поиска

5 душ один и тот-же вопрос в один день, а опубликовать вопрос на форуме?
Для тех кто в танке. По строчкам.
Открываем файл simplesearch.class.php который лежит в папке
core/components/simplesearch/model/simplesearch/
Читать дальше →

[REVO] Как получить aяксом ресурс.

Просто часто пользуюсь, а тут смотрю, вроде спрашивают. Выложу свою заначку.
Часто разработчику необходимо получать данные не прибегая к перезагрузке страницы, то есть через ajax.

Для начала нужно определится с подключением к MODX API. Данный код нужен для защиты.
Читать дальше →

[REVO] getResources и tvFilters и операторы '==', '!=', '=', '', '>', '

Вчера вечером, был пост, где человек хочет отфильтровать по оператору '<>'. Казалось, всё просто, но система втыка, не дала свой результат. Меня стала мучить мысля… что, не так, вскрыв getResources, я заметил, что в tvFilters '==' — это не оператор, а разделитель.
Читать дальше →