Тэг ‘modx’

MODx Evo reset cache - программная очистка кэша

Как очистить кэш в MODx?

Самый простой и часто встречаемый ответ - зайти в админку по адресу /manager/ (что делать, если при входе в админку modx открывается ispmanager) и нажать ссылку “Очистить кэш“. Читать целиком »

Опубликовано Апрель 23, 2013 | автор: levik  |  Нет комментариев »

MODx Yams - мультиязычные сайты на modx Evo

Задача реализации мультиязычных сайтов (сайт, содержимое которого может быть на нескольких языках) возникает, пожалуй, у многих разработчиков. На сегодняшний день существует довольно много готовых решений, как выделенных в отдельные независимые библиотеки (i..n L..n), так и  в рамках конкретных движков-продуктов.

Если в MODx Revolution средства для реализации мультиязычности и мультисайтовости уже встроены, то для создания сайта на нескольких языках с использованием MODx Evo (Evolution - более ранняя версия MODx) придётся немного повозиться. Благо, сейчас есть уже готовые решения. Одно из популярных - YAMS. Читать целиком »

Опубликовано Октябрь 1, 2011 | автор: levik  |  Комментарий (1) »

MODx и ISPManager - доступ к manager

В ситуации, когда сайт на MODx установлен на хостинге, работающем под управлением ISPManager есть один тонкий момент.

MODx и ISPManager имеют одинаковый адрес для доступа к “админке”

Читать целиком »

Опубликовано Февраль 28, 2011 | автор: levik  |  Комментарии (8) »

Перенос сайта на MODx на другой сервер

Шпаргалка по переносу сайтов на MODx с одного хостинга на другой (или на/с локальный компьютер) по большому счету не особо отличается от шпаргалки по переносу блога на Wordpress

Для того, чтобы перенести сайт на MODx, потребуется скопировать сам сайт и базу данных :) Как правило, в этом заключается перенос любого сайта, который использует базу. Читать целиком »

Опубликовано Февраль 1, 2011 | автор: levik  |  Нет комментариев »

MODx - шпаргалка по установке и настройке

Решил собрать в одном месте краткое руководство по настройке MODx. Сразу оговорюсь, что на полноту изложения не претендую - на то и шпаргалка.. И подойдет она для сайтов без специфичного функционала (там уж кто на что горазд). И да.. шпаргалка по MODx Evolution 1.0.4 (скорее всего, подойдет и для других версий MODx EVO)

Установка MODx

При установке MODx особых трудностей возникнуть не должно - автоматический установщик отлично справляется со своими обязанностями. Кроме того, по умолчанию выбраны для установки все элементы (плагины-чанки-сниппеты…). Пример сайта я обычно не устанавливаю, хотя он может оказаться полезным для изучения (как раз в качестве примера). Единственное, что хотелось бы отметить - это

  • переименовать файл ht.access в .htaccess и раскомментировать строки register_globals и AddDefaultCharset

Настройка MODx

  • Создать шаблон(ы);
  • Создать помимо главной (по умолчанию с ID 1) 404 (403) страницу;
  • Указать (проверить) абсолютные и относительные пути для файл-менеджера и редактора (Путь к файлам, URL к файлам и Путь для файл-менеджера), установить разрешения на запись в каталог;
  • Настраиваем транслитерацию имени для загружаемых файлов;
  • Настраиваем транслитерацию URL (плагин TransAlias)
  • Обычно ставлю плагин Seo strict URLs - склеивает дубли страниц перенаправлением на “основной” алиас, убирает alias главной страницы (minimal-base по умолчанию) в wayfinder-меню и хлебных крошках;
  • Если испольуем ЧПУ, то следует проверить в шаблоне внутренних страниц наличие <base href=”[(site_url)] “></base> - облегчает настройку работы с загруженными файлами;
  • Отключаем вывод сообщений об ошибках на рабочем сайте
  • Если на сайте используется JQuery, следует отключить автозагрузку JQuery в плагине QuickManager (Load JQuery in front-end). В сниппетах могут задаваться параметры для отключения JQuery.
  • Служебные документы можно защитить от редактирования, используя mm_widget_accessdenied- виджет “Доступ запрещен”. При необходимости, можно скрыть или настроить отображение практически любых полей для каждого документа и каждого пользователя (роли)

Много полезных советов по настройке MODx можно найти у e-KAO, однако следует помнить, что создание различных сборок MODx не поощряется разработчиками… Используйте её для собственных нужд ;)

Опубликовано Август 13, 2010 | автор: levik  |  Комментарии (9) »

MODx - плагин TransAlias - автоматическая транслитерация адресов

В CMS/CMF MODx для автоматической транслитерации URL-ов страниц в комплект входит плагин TransAlias. Однако, по умолчанию настроен он так, что позволяет добавлять URL-ы, содержащие и русские буквы.

Для транслитерации русских букв в строке URL адреса следует произвести небольшую настройку плагина. А именно - заходим на вкладку “Конфигурация” (Элементы - Управление элементами - Плагины- TransAlias (8) - 1.0.1 Human readible URL translation supporting multiple languages and overrides), и выбираем значение “russian” для параметра Trans table Читать целиком »

Опубликовано Август 12, 2010 | автор: levik  |  Комментарии (4) »

JoCo - управление JOT-комментариями в ModX

Несмотря на универсальность и функционал сниппет комментариев JOT не очень удобен для администрирования комментариев. Их просто нельзя найти нигде, кроме как на страницах сайта. Естественно, перебирать весь сайт в поисках новых комментариев не очень удобно.

Неплохое дополнение к jot, которое значительно расширяет имеющиеся функции - JoCo : Jot Comment tool.

Это дополнение включает в себя модуль (позволяющий управлять комментариями в панели управления MODx) и сниппет для расширения стандартного функционала JOT.

Установка модуля JoCo проста - копируем папку JoCo в каталог /assets/modules/ , после чего создаем новый модуль JoCo, в который прописываем всего лишь одну строку кода (содержимое искать в текстовом файле, в архиве с модулем)

Скачать JoCo для управления комментариями можно здесь:
http://modxcms.com/forums/index.php/topic,30632.0.html

Опубликовано Июль 20, 2010 | автор: levik  |  Нет комментариев »

Jot - комментарии в Modx

Сниппет jot позволяет организовать работу с комментариями в системе MODx. Для удобного управления комментариями из админки можно воспользоваться сниппетом JoCo

Jot входит в “стандартную” поставку MODx версии 1… Однако, по умолчанию - на английском языке. Чтобы использовать комментарии JOT на русском языке следует внести изменения в шаблоны (jot/templates) и в php-файлы используемых классов. Строго говоря, вместо внесения изменений в файлы шаблонов можно воспользоваться чанками и указать их в качестве параметров при вызове сниппета.

Перевод Jot. Можно также воспользоваться готовым переводом (качать в этой теме форума) . Однако, в шаблонах используются иконки от старой “темы” панели управления… В общем, видимо, без напильника не обойтись. Делается один раз и надолго.

Подводные камни JOT

Переходы при нажатии на “tab” в некоторых браузерах (у меня “нормально” сработала только “Опера”) воспринимаются не совсем корректно. Параметр tabindex должен принимать значения до 32767. В общем, открываем файл jot.class.inc.php и исправляем

$this->config[”seed”] = rand(); // строка 119, на
$this->config[”seed”] = rand(300, 32760); // новая строка 119

Разрешаем web-пользователям редактировать свои комментарии.
&canedit    (comma delimitted web groups)    Comma delimitted web groups that can edit their OWN comments.
Если опустить параметр &canpost, то все смогут комментировать

JOT - защита от спама

Простой способ избавиться от большой части спама - запрещать слова “http, url”  (также можно добавить “viagra, cialis” и.т.д.) Это делается с помощью параметра &badwords

Можно также защищаться с помощью “черных списков”. Пример использования списка Project Honey Pot (на английском) искать в Wiki: http://wiki.modxcms.com/index.php/Spamproofing_for_Jot. Этот подход можно использовать и для других списков.

(спасибо пользователю kp52)

Jot - вместо логина (username) отображаем полное имя (Full name) пользователя (менеджера) в комментариях. В шаблоне assets/snippets/jot/templates/chunk.comment.inc.html следует заменить username на fullname:
[+comment.createdby:userinfo=`username`:ifempty...
на
[+comment.createdby:userinfo=`fullname`:ifempty...

Jot - выбираем комментарии из нескольких документов (потребуется, например, при выводе последних комментариев на главной странице или в шаблоне)
http://modxcms.com/forums/index.php/topic,15746.msg108349.html#msg108349

Альтернативный вариант выбора последних JOT комментариев в MODx - сниппет LatestComments
http://modxcms.com/forums/index.php/topic,47196.0.html

Вывод последних комментариев JOT - еще один сниппет
http://modxcms.com/forums/index.php?topic=17843.msg276620#msg276620

Опубликовано Июль 1, 2010 | автор: levik  |  Комментарии (3) »

Как очистить кэш в MODx? Кэширование в modx

В системе modx предусмотрено кэширование документов. Если не вдаваться в подробности, то это значит, что данные, необходимые для формирования страницы сохраняются из базы данных в отдельный файл, к которому в дальнейшем происходит повторное обращение. Читать целиком »

Опубликовано Июнь 23, 2010 | автор: levik  |  Нет комментариев »

modx - ditto, reflect, tags (tagging) - делаем тэги на MODx

Несмотря на довольно солидное сообщество, не только русскоязычное, на некоторые простые вопросы ответы найти удается с трудом. Без претензий, но факт. (Скорее, претензии к себе.. плохо ищу, или не могу правильно сформулировать вопрос.. хотя, ряд аналогичных вопросов на форуме оставлен без ответа).

Для начала, до разработки сайтов на MODx рекомендуется ознакомиться с некоторыми терминами, специфичными для этой системы..  Сниппеты, Чанки, TV, Шаблоны… организация документов. В качестве примера можно изучить DEMO-сайт, почитать WikiУчебник .

В статье описан работающий пример организации записей (постов) по датам и тэгам (по аналогии с блогом на wordpress) с удобным редактированием. Все подводные камни расписывать не буду.. Скажу лишь, что в DEMO-блоге этот механизм работает не совсем так, как описано, а привести его без особых ухищрений к привычному виду не удалось…

Итак, делаем тэги + даты на MODx

  1. Внимательно изучаем статью http://modx.ru/blog/add_tags/ и комментарии к ней. Делаем все, что там описано. Добавляем TV с именем tags, сниппеты Ditto, tagLinks и TvTagCloud нам пригодятся.
  2. Если планируются многословные тэги, а также есть желание упростить их ввод в “админке” (ткнул на тэг - он добавлен) читаем про пробелы и виджет тэгов MODx . После - добавляем mm_widget_tags(’tags’,’ ‘) , и исправляем, если требуется, &delimeter = ‘,’ (в вызове Ditto)
  3. Сниппет Reflect - своеобразная надстройка над Ditto. В месте вывода архива по датам (июнь 2010, май 2010…)
    [!Reflect? &config=`wordpress` &targetID=`3` &path=`3` &dittoSnippetParameters=`parents:3` &id=`wp` &getDocuments=`1`!]

Основная часть закончена. По идее, всё должно отображаться как нужно. Теперь бубен и напильник :)

При совместном использовании Ditto, Reflect и тэгов к ссылкам добавляются “лишние” параметры . К ссылкам дат добавляется &tags, а к ссылкам тэгов добавляются даты (wp_year…)

  1. Чистим ссылки в выводе Reflect. Сделано добавлением нового сниппета Leftmenu с кодом:
    <? php // snippet 'Leftmenu';
    $tmp=$modx->runSnippet('Reflect', array(
    'targetID' => 3,
    'config'=>'wordpress' ,
    'path'=>'3' ,
    'tplContainer'=>'reflect_tpl',
    'dittoSnippetParameters'=>'parents:3',
    'id'=>'wp',
    'getDocuments'=>'1'
    ));
    // echo $tmp; // для проверки корректности выполнения сниппета$tmp = preg_replace ('/(&)?(wp_)?tags=[^&"]*(&)?(start=0&)?/is','',$tmp);
    // регулярник для очистки от параметров wp_tags=xxx (от текущего ditto) tags=xxx (облако тэгов) и start=0
    echo $tmp;
    //[!Reflect? &config=`wordpress` &targetID=`3` &path=`3` &tplContainer=`reflect_tpl` &dittoSnippetParameters=`parents:3` &wp_tags=`` &id=`wp_` &getDocuments=`1`!]
    ?>
  2. 2. Чистим ссылки на страницы тэгов в выводе DITTO:
    В шаблоне вместо плейсхолдера [+tagLinks+] используем вызов сниппета - вывод тэгов со ссылками только на тэги
    [!tagLinks? &tv=`tags` &label=`
    Метки: ` &id=`[+id+]` &path=`3`!]

Если с первого раза не получится - отчаиваться не стОит. Опыт.. опыт.. и ещё раз опыт.

А вообще-то можно использовать стандартную конфигурацию из DEMO-сайта.

ps По умолчанию, Reflect считает, что в Ditto используется дата создания документа. Иногда удобнее использовать дату публикации документа. Кроме указания соответствующего параметра в Ditto, эту информацию следует  передать и в Reflect, примерно так: &dittoSnippetParameters=`parents:11|sortBy:pub_date`

Опубликовано Июнь 20, 2010 | автор: levik  |  Комментарии (3) »