0.00
96 читателей, 73 топика

[REVO] Массовое редактирование ТВ (пока в виде сниппета)

Добрый день,
Не нашел компонента, который позволял бы удобно корректировать ТВшки. Пришлось дорабатывать код TvTagsEdit для Эво. Правда в итоге он превратился в снипет)).

Кросс-пост отсюда

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

Проблемы при выборе "разрешить повторяющиеся псевдонимы"

Обнаружил одну неприятную особенность при формировании дружественных url. Если выбрать «разрешить повторяющиеся псевдонимы», то они могут дублироваться даже в пределах одного родителя — т.е. получим два абсолютно одинаковых url. Конечно, это решается путем запрета такого повтора — но хотелось бы иметь в итоге url вида tv/samsung/product.html и photo/samsung/product.html, а не tv/samsung/product.html и photo/samsung1/product1.html.

Для этого не так уж много нужно. Проблема в файле save_content.processor.php. Итак
Читать дальше →

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

Иногда бывает нужно сделать галлерею на странице, собрав изображения из конкретной папки, ну или например организовать заготовку для слайдера, при этом не заморачиваясь 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/
Читать дальше →