Импорт в MODX Tickets из Wordpress

В очередной раз понадобилось перенести блог из Вордпресса в MODX. Раньше я для этого пользовался хитрым костылём с Articles. Сейчас он не работает, поэтому пришлось чинить. Доделывать мне его лень, так что это опять костыль. Но у меня он сработал.

Скачиваем файл, создаём новый сниппет, например, wpimport, вставляем в него текст из файла, и настраиваем всё параметры прямо в коде (я предупреждал — костыль!)
 

  • На 20-й строке указываем путь к файлу, экспортированному из WP.
  • На 100-й строке появляется функция, которая расставляет теги абзаца, которых в файле WP нет.
  • 115-я строка — ID родителя (куда будем импортировать?)
  • 119-я — ID шаблона для постов.
  • На 126 устанавливается class_key Tickets. Если хотите, можете сделать ModResource.
  • Со 132-й строки пробуем скопировать все изображения из WP в папку, указанную на 152-й строке. Попутно меняем css классы у картинок на bootstrap.
  • На 180-й строке пытаемся поменять href у ссылок, внутри которых были картинки.
  • 199 – Сохраняем в интротекст всё, что перед катом.
  • 209,210 — вызываем функции, которые сохраняют description и keywords в соответстующие ТВ, если в WP вы использовали All In One SEO Pack. ТВ для сохранения указаны в самом конце.
  • ТВ для тегов на 339-й строке.

Вставляем вызов сниппета на любую страницу, заходим на неё, ждём пока выполнится. Удаляем, чтоб не вызвать второй раз. Не забудьте сделать родителя разделом с тикетами.

Сделано на основе всё того же импорта из Articles. Пользуйтесь на свой страх и риск.

Изначально опубликовано на mod.pro.

Content Editor Tools 0.8 и тема для админки

Что-то я зачастил, так что постараюсь покороче. Вот картинка, которая всё объясняет:

30ecebebbaffcd9a3f1932a334f7397306146866.png

Внутри: новый плагин CET Builder, удобная тема для админки и обновлённые AssetsTV и CKEditor.

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

Content Editor Tools 0.7

Продолжаю пилить свой набор дополнений Content Editor Tools.

a07a995212fb73d28f1915bf9f3f5e7e666db668.png

Новое в CET_assetsTV:

  • Возможность отобразить дропзону для загрузки файлов в отдельной панельке внизу окна.
  • Возможность выбрать и вставить в content сразу несколько файлов.

Скачать

Новое в CET_CKEditor:

  • Новый плагин типографа (в настройках плагина на выбор: типографы Лебедева или Муравьева)
  • Поддержка bootstrap (так же включается в настройках)
  • Добавлен плагин bootstrapTabs
  • Настроен autoGrow

Скачать

На TinyMCE пока забил.

Это до сих пор сильно бета. И вообще, не факт что работает :-)

Изначально опубликовано на modx.pro.

Tickets introtext и Jevix

Я так и не понял баг это или фича. Tickets сохраняет content, обработанный Jevix, в introtext. Делает это даже когда Jevix отключен. Чтоб избавиться от этого нужно отредактировать 2 файла: create.class.php и update.class.php по адресу /core/components/tickets/controllers/ticket/.

Я заменил:

// Define introtext
$introtext = $this->getProperty('introtext');
if (empty($introtext)) {
$introtext = $this->object->getIntroText($this->getProperty('content'), false);
}
if (empty($properties['disable_jevix'])) {
$introtext = $this->object->Jevix($introtext);
}

На:

// Define introtext
$introtext = $this->getProperty('introtext');
// if (empty($introtext)) {
// $introtext = $this->object->getIntroText($this->getProperty('content'), false);
// }
if (empty($properties['disable_jevix'])) {
$content2intro = $this->object->getIntroText($this->getProperty('content'), false);
$introtext = $this->object->Jevix($content2intro);
}

Теперь content в introtext сохраняется только если Jevix включен. Вроде как так и должно быть. Нет?

Изначально опубликовано на modx.pro.

Content Editor Tools

Я решил немного облегчить себе жизнь и сделал 2 плагина (на самом деле 3) для работы с контентом из админки. Этот набор плагинов я назвал Content Editor Tools, чтоб не путать их с похожими имеющимися.

Первое, это Rich Text Editor. Тут на выбор: TinyMCE или CKEditor. Второе: AssetsTV — это для работы с файлами. Пока всё в статусе беты.

cef431fbc1b4502e728da683c87d7b13a034cd4e.png4e9a9cebe40e5b1704cb99a423465b90d0b04ecd.png

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

Отображение тикета в админке

Появилась бы отдельностоящая версия TicketComments, чтоб можно было бы просто комментарии цеплять к обычным ресурсам (или товарам) — было бы мне счастье. Но пока так. И в том виде, в котором сейчас существует Tickets меня напрягает одна вещь — то как тикеты отображаются в админке.

Поле с контентом становится очень узким, чтоб в правой части экрана отобразись дополнительные поля. Та же история в Articles, кстати. Зачем оно так мне совершенно не понятно. Поэтому я залез своими грязными лапами в файлик ticket.common.js (/assets/components/tickets/js/mgr/ticket/), чтоб сделать тикеты внешне похожими на обычные ресурсы modx.

e0eff23183cccacbc01cd39151463f77d55b6e31.pngТеперь контент отображается как обычно: снизу и на всю ширину. Настройки страницы в соответствующей вкладке, комментарии в отдельной.

Собственно, вот мой ticket.common.js.

Изначально опубликовано на mod.pro.

MODX Articles

Решил, наконец-то, перевести этот сайт на MODX.

Что предлагает MODX для блогов? Есть такой модуль (плагин, экста?) Articles. Как раз предназначен для ведения блога. Там импорт, комментарии, посты удобно объединяются в дереве ресурсов. Вроде как всё ок. НО!

Вот стандартный ресурс в MODX. Зелёное — полезная область, куда вбивается контент, красное — левые поля для настроки параметорв ресурса, которые нужны далеко не всегда.

articles1-650

А вот модуль ДЛЯ ВЕДЕНИЯ БЛОГА Articles.

articles2-650

Левая панелька с деревом ресурсов умеет скрываться, но это не выход, потому что обычный, не блоговый ресурс всё-равно больше подходит для написания текстов, чем, типа, под это заточеный. В этом заточенном я вижу тупое копирование расположния элементов с Вордперсса. Писать тексты внутри этого, зажатого со всех сторон поля, как-то не хочется.

А вот Вордпресс 4.1

wp41

 

Ну да ладно. Прелесть MODX в том, что, при желании, всё можно сделать так как тебе хочется, и есть варианты кроме Articles. Наверное, как-то так остутствие дизайнера в команде разработчиков портит хороший, в общем-то, продукт.

16 марта 2015 Темы: MODX Дизайн
2 комментария

Таксономия в modx revo (custom TV input)

Таксономия, поправьте, если я не прав, — это такой способ классификации и систематизации, при котором один объект может относиться к нескольким классам. Например, у нас есть терьер Тузик, овчарка Рекс, кот Барсик и рыбка Немо. И есть такая структура:

  • Млекопитающие
    • Собаки
      • терьеры
      • овчарки
    • Коты
  • Рыбы

Тузик, будучи терьером, относится и к собакам, и к млекопитающим. То же самое с Рексом, он — собака и млекопитающее. Барсик относится к котам и млекопитающим, а Немо — рыба и млекопитающим не является.

Таксономия может быть очень полезна при разработке сайтов-каталогов, в которых один объект так же может относиться к нескольким категориям и группам категорий. Вот, например, каталог артистов. Артист может быть одновременно и музыкантом, и ведущим, и фокусником. Кроме того, музыку он может исполнять в различных стилях.

Таксономия «из коробки» имеется во многих CMS. Особенно хорошо этот термин знаком пользователям Drupal. Для моего любимого ModX существует плагин Taxonomies, но работает он... несколько странно... Надо что-то делать.

Читать дальше ↓
24 февраля 2015 Темы: MODX Разработка
2 комментария

TinyMCE 4.0 для MODX Revo + RTE для introtext

Меня всегда бесило, что в MODX нельзя поставить визиуальный редактор на поле introtext. В качестве решения этой проблемы, обычно рекомендуется вместо introtext использовать TV. Но это создает некоторые проблемы. Получается, что в настройках форм, мы вырубаем introtext и прочие лишние поля. Вводная часть текста у нас теперь в TV, который при создании нового документа скрыт в отдельной вкадке. Если же мы включаем в настройках отображение TV под контентом, то получается, что у нас вводная часть следует за основным содержанием, что как-то нелогично. Чтобы сделать логично для пользователя (контент-менеджера), можно пойти дальше и хранить вводную часть в content, а основную в TV, но с точки зрения системы это будет ещё более бредово. Кроме того мы создаем лишние запросы к БД, чтоб получить значение из TV.

В итоге у нас получается что-то типа того (Rich Text Editor на скриншоте — TinyMCE 3-ей версии со скином ribbon)

Снимок экрана 2014-02-14 в 13.16.31

Почему разработчики MODX упорно не хотят прицеплять RTE к introtext мне не ясно. Но, не хотят они, сделаем сами.

Читать дальше ↓
14 февраля 2014 Темы: MODX Разработка
5 комментариев