Pull to refresh

Comments 47

В их документации довольно много примеров и how-to с примерами кода. Все на английском, но даже для тех кто в нем не силен очень понятно и наглядно.
Вот пример создания блога rtfm.modx.com/display/revolution21/Creating+a+Blog+in+MODx+Revolution

Интересна тема по созданию дополнительных модулей — Custom Manager Pages
Довольно гибко все и удобно, вот думаю тоже написать инструкцию на русском.
Это ж надо читать и разбираться, не у каждого есть время.

Цель топика — переманить какое то кол-во пользователей на более прогрессивную версию MODX, ибо Evo по прежнему более популярен, хоть уже и не обходится без костылей и стероидов. Я видел даже статьи по прикручиванию xPDO на Evo!

А до Custom Manager Pages я еще не дошел — поэтому с удовольствием почитаю, когда напишите.
Немного сумбурно но, в целом, вы молодец. Многих отталкивает от MODx именно отсутствие мануалов на русском.
Да там, блин, стока возможностей, что теряешься, о чем рассказывать, а о чем лучше пока помолчать.
Жду вопросов в комментариях и буду дополнять/изменять топик.
Я очень-очень хочу увидеть статью по разработке своих компонентов для Revo, в доках эта тема до конца не раскрыта.
Что вы имеете в виду под «компонентами»? Упомянутые выше Custom Manager Pages или разработку своих сниппетов и работу из них с ресурсами без админки через MODX API?

Если второй вариант — могу написать топик про то, как это легко и прикольно делается в Revo.
Про сами Custom Manager Pages вроде в доках довольно внятно написано, а вот про это rtfm.modx.com/display/revolution20/Using+Custom+Database+Tables+in+your+3rd+Party+Components начали писать и не закончили, а это очень интересно.

Интерес связан прежде всего с ограничением modx на количество ресурсов (общеизвестно что Revo как и Evo после некоторого порога в 10-20к документов ведёт себя нездорово), для разработки своих каталогов, например.
А. Это меня и самого интересует, но пока некогда разбираться.

С другой стороны «общеизвестно» про 50000 документов и только в Evo. Все упирается в кэш, который очень разрастается и начинает тормозить. Как такового ограничения на ресурсы вообще нет.

В Revolution системы кэширования сильно переработана, там есть CacheManager, вот его и нужно осваивать.

Мое мнение, если речь идет о тысячах ресурсов — всегода нужно писать свои сниппеты для работы с базой через API, ибо иначе от одних тормозов админки при прогрузке ресурсов повесишься.
Новая версия так же адово тормозит на Денвере?
Понятия не имею, не пользуюсь.
На локальном компе (ubuntu desktop), на домашнем сервере (ubuntu server) и на хостинге (FreeBSD) — не тормозит.

Советую вам поставить virtualbox и ubuntu server в него. Проблем с переносом на хостинг потом не будет, да и вообще, так лучше.
А можете рассказать чем Revo реально лучше Evo? Т.е. не просто «мне он больше нравится» или «он прогрессивнее», а действительно серьезные аргументы.
Сам пока продолжаю делать сайты на Evo и до сих пор не вижу серьезных причин для перехода. Плюс некоторые дополнения все еще отсутствуют в в редакции для Revo.
Это вопрос из разряда «чем семерка лучше XP»? Да всем, миллионы улучшений.

Лично мне достаточно встроенного везде phx, объектой модели xPDO, бесконечно вложенных друг в друга чанков и сниппетов, вложенных категорий в дереве ресурсов, обработки ТВ параметров, перетаскивания в дереве ресурсов мышью. Это я еще вглубь не копал.

Сделайте полностью один простой сайт на Revolution и на Evo вы уже не вернетесь.

Лично я уже не вернулся.
Разве что phx серьезный плюс. С ним, все-таки весьма удобно.
Кстати, случаем не знаете, не поменялось ли что-нибудь связанное с написание консольных скриптов использующих возможности modx? Для меня этот вопрос критичен.
И еще, там с созданием мультиязычных сайтов как?
С мультиязычностью все прекрасно. Есть прям словари и в чанках можно вставлять вместо текста переменные — а им в админке присваивать текст на разных языках.
Там еще и мультисайтовость есть (контексты). Я толком не разбирался — потому и не пишу пока.

Вопрос про скрипты я не понял. Какие такие скрипты используют возможности MODX, на bash, что ли?
Нет, на пыхе естественно, но запускаются из консоли.
Если я правильно понимаю — пишите нужное и запускаете из консоли просто через wget с параметрами.

То есть просто wget открываете нужную страницу и она выполняет то, что нужно.

Можно со стороны и движок инклудить и запускать как раньше, но не разбирался, опять же.

Если я неправильно вас понимаю — поясните на примере.

Например, с Evo я делаю так:
// modx init
include_once('/usr/local/www/' . $domain . '/manager/includes/config.inc.php');
include_once('/usr/local/www/' . $domain . '/manager/includes/document.parser.class.inc.php');
$modx = new DocumentParser;
$modx->minParserPasses = 1; // min number of parser recursive loops or passes
$modx->maxParserPasses = 10; // max number of parser recursive loops or passes
$modx->dumpSQL = false;
$modx->dumpSnippets = false; // feed the parser the execution start time
$modx->tstart = $tstart;
$modx->stopOnNotice = false;
$modx->getSettings();


И могу спокойно использовать объект $modx.
В Revo так прокатит? Хотя, если вы эти раньше не пользовались, то наверное быстрее будет попробовать самому.
Все просто — модифицируем index.php и получается:
$modx_cache_disabled = false;
@include(dirname(__FILE__) . '/config.core.php');
if (!defined('MODX_CORE_PATH')) define('MODX_CORE_PATH', dirname(__FILE__) . '/core/');
include_once (MODX_CORE_PATH . "model/modx/modx.class.php");
ob_start();

if (empty($options) || !is_array($options)) $options = array();
$modx= new modX('', $options);
$modx->initialize('web');


А после этого можно
$res = $modx->getObject("modResource", 1);
echo $res->get('pagetitle');

И получим имя ресурса с id = 1
там все на контекстах, у тебя есть базовый контекст веб, ты можешь сделать сколько угодно контекстов. если глубоко копать, то думаю там хорошие возможности.
А можно поподробней про мультиязычные сайты. Ибо используемое сейчас решение — ну совсем не радует и, пожалуй, является единственым фактором останавливающим переход.
Лично я не пробовал еще, но по идее, в админке есть словари.

Вы пишите все что нужно в них, для каждого языка своя фраза, а потом в чанках указываете вот такие переменные [[%key? &topic=`topicname` &namespace=`namespace_name` &language=`en`]]

Подробнее вот тут
Я, наверное, несколько неправильно выразил идею. i18 это понятно. Мне же более интересна подмена страниц и контента на них, а не только работа со словарем.

Потому как сейчас у меня две отдельные «ветки» с документами и куча раскоряк на TV.
Не уверен, но скорее всего нужно копать в сторону контекстов и мультисайтовости. То есть делать 2 сайта в одном движке, русс и англ версии.

А как еще? Либо языковые переменные, либо отдельные страницы. Или есть идеи?

Я делал на Evo две отдельные ветки и ТВ там был ровно один, кстати. С указанием id русской и английской версии страницы. Нормально работало, вполне.
А не знаете, где можно подробно почитать про мультисайтовость?
Подробно — не знаю. А не подробно — у разработчиков. Это делается с помощью контекстов, но я не пробовал.

А возможность прикрепить к странице галерею картинок в Revo так и не сделали…
Нельзя объять необьятное, но MODX предоставляет вам инструменты для этого.

В Evo я делал так: ставил Easy2Gallery и создавал TV с именем gallery.
У любой страницы можно было в этот ТВ вписать номер галереи. А потом в шаблоне:
[+phx:if=`[*gallery*]`:isnot=``:then=`
  [!easy2?
    &gid=`[*gallery*]`
    &glib=`fancybox`
    & и остальные параметры
  !]
`+]

Таким образом, если ТВ установлен — выведется галерея, если нет — нет.

Не вижу причин, чтобы это не работало в Revo. Надо только определится в галереей.
Хм, попробовал установить мод на денвер. Результатом очень удивлен. После такой установки сразу пропадает желание использовать CMS, если столько недочетов и багов в процессе инсталляции, то что ждет юзверя потом?

Итак, по порядку.
1. Выбрал виртуальный хост kino/ — вот так без домена первого уровня. Все операции проводил в windows 7 64bit и с последней версией денвера

2. Веб инсталлятор сразу отказался работать в нужной кодировке в браузере (firefox 6)/ Я не стал разбираться, кто виноват, потому что другие инсталляторы почему-то работают нормально в этом браузере. На каждой новой странице инсталлятора я лез в меню и менял кодировку на utf-8

3. После завершения инсталляции произошло перенаправление на страницу для входа в админку. Только адрес перенаправления оказался кривым: kinomanager! Я ручками вбил верный kino/manager

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

5. Залогинился и увидел… увидел, что загрузился лишь список главного меню без стилей, скриптов и без всего остального. Произошло от того, что все пути, по которым сайт что-то хотел подгрузить имели лишнюю копию слова manager

6. Залез в конфиг сайта, вроде все пути прописаны верно. Ладно, сносим БД, делаем хост kino.kk и снова мучаясь с кодировками в инсталляции, снова вбивая верный логин наконец попадаем в почти работающую админку

7. Почему почти? Потому что из всех дополнений в репозитории захотел грузиться только simpl mygit какой-то. Остальные выдавали ошибку «Произошла ошибка при подключении к поставщику:MODX получил пустой ответ от поставщика. Пожалуйста, проверьте URL-адрес поставщика и убедитесь, что поставщик является корректным поставщиком.»

Я все это к чему? Когда cms встречает таким градом багов сразу у порога, что-то даже думать не хочется об его использовании. Но интерес все равно появился, подписываюсь на блог, посмотрю когда-нибудь новую версию.
А я удивлен вашим сообщением. Сделал штук 30 сайтов разной степени сложности только на Revo.

1. А чего вы ожидали от нестандартного домена? Его же и parse_url() не прожует.
2. Ну так, это же denwer, если мне не изменяет память, apache там отдает по умолчанию cp1251.
3. см. пункт 1
4. Это у вас броузер автовводит.
5. см. пункт 1
6. Конечно, ru или com вам не позволило ваше чувство юмора?
7. А вы уверены, что ходите в инет не через прокси? Судя по ошибке, сайт просто не может выйти в сеть — это проблема не MODX.

Вообще, у меня лично есть хостинг с линуксом, где я провожу все работы. Denwer — это для… новичков.
Если денег на хостинг жалко — поставите ubuntu server в virtualbox — проблем не будет.
да, пункт 4 — это я видимо не выспался.

Что такое денвер и рамки его применимости мне известны, к Вашему сведению: денвер не для новичков, а достаточный инструмент для решения конкретного круга задач. Точно так же, как собственноручно настроенный LAMP.

7 — через роутер с выделенным ip. Один вопрос, как он так фильтрует, какие дополнения загружать с одного и того же ресурса, а какие нет?

Увы, моя мысль осталась неуслышанной. Ни один из опробованных мною движков не брезгует экзотическими доменами, в отличие от MODX, у опробованных мною движков, даже при умолчальных настройках апача в денвере, нет ситуации, когда инсталлятор отображается в одной кодировке, а админка в другой. Я всего лишь отметил, что все это похоже, эммм, на детские болезни что ли. Я отметил, что таки проблемы в самом начале работы с CMS в не самых криминальных ситуациях могут сигнализировать о состоянии CMS в целом и вызывать недоверие и опасения.
Конечно — Denwer, это серьезная, профессиональная система. Особенно для тех, у кого нет компьютера с нормальным LAMP. В интернете много сайтов работает на Denwer.

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

Там вообще много проблем, лучше забейте.

ну что Вы на оскорбления переходите не разобравшись?

Поясню специально для Вас: денвер — это парочка скриптов для быстрого поднятия AMP на windows и быстрого создания конфигурации виртуальных хостов на основе дерева папок. Все остальное — стандартные компоненты. Вопрос: почему я должен потратить неделю на то. чтобы в будущем все было красиво, когда на это уже кто-то потратил пару месяцев разработки? Не говоря о том, что этот инструмент создавал человек для решения своих задач, задач, в которых он уже давнооооо не новичок?

Если Вы считаете, что верстальщик или контент менеджер может называться не новичком только когда освоит утановку linux в virtualbox, установку lamp и его конфигурацию, то, боюсь, общего языка мы никогда не найдем.
Я знаю что такое Denwer, начинал с него =)

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

И начинаете рассказывать, какая она глючная. И моих объяснений не слушаете. Вы несете Правду о MODX!

Вы какой реакции ожидаете? Что мы найдем общий язык? Поплачем вместе, обнявшись, над вашими проблемами?

Ну не видел я таких глюков, ну не видел! Если хотите на Denwer разворачивать серьезные системы — да флаг вам в руки, извращайтесь как хотите, у себя дома.

Но не надо приходить и рассказывать, что у вас ничего нормально не работает.

Хотите доказать, что Revo глючный? Поставьте его на хостинг и дайте ссылки — мы посмотрим и на кодировки, и на прочие проблемы. А я вам могу ссылку на свою установку дать.

Согласны?

О моих целях смотрите здесь: http://habrahabr.ru/blogs/modx/116614/#comment_4179291

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

За сим умолкаю.
То есть, доказывать, что MODX действительно глючит вы не будете?

Тогда да, лучше умолкнуть.
эммм… зачем доказывать? Чтобы показать, что я не идиот? Я это итак знаю. Чтобы показать общественности, что Вы… эммм… напрасно иронизировали? Мне от этого снова нет пользы, я не такой эмоциональный как Вы.

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

Когда заявляют о глюках — их принято доказывать, понимаете?

Вы в курсе, что я не разработчик MODX и ошибки в нем не исправляю? Тем более, те, которые есть только у вас на компьютере.
Вы же сказали, что любите систему, я думал, что логично предположить, что Вы исправно докладываете о глюках разработчикам, чтобы поддержать любимую систему…

про доказательства: теперь уже я рыдаю. Чтобы успокоить Ваше самолюбие или чтобы принести пользу MODX?

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

В программирование есть такое понятие, как исключительные ситуации. Так вот, их принято обрабатывать, понимаете? Качество обработки таких моментов сказывается на качестве всей системы в целом. Это очень простая логическая цепочка из двух звеньев. Черт поберьи, вместо попыток доказать мне, что я верблюд, докажите мне, что эти несерьезные ошибки — большая редкость для системы. Странной любовью Вы ее любите.
Я должен вам доказать, что система не глючная?

Клиника.
PSпри чем тут чувство юмора? домен верхнего уровня, например, диктуется локальной сетью заказчика, в которой и будет работать сайт.
А есть домен kk, первого уровня?!
а .lo, а .localnet, а moyafirmaimojkorporativniysite.yaprikazalsisadminsdelal?
Если без сарказма — я ни одной проблемы из тех, что вы описали не видел.

Серьезно, поставьте Revo не на Denwer а на unix-like систему, с нормальным LAMP.

К примеру, Петерхост дает бесплатно 14 дней попробовать свой хостинг. Там с Revo проблем нет — проверял неоднократно.

Ну и в локальной сети заказчика сайт, надеюсь, не на Denwere будет крутиться?
:)) да что Вы к этому денверу прицепились? Денвер — это инструмент разработчика, а не хостплощадка, см. выше.

Да понимаю я, что не сталкивались, а я столкнулся с такими ошибками вообще впервые, ничего подобного в других испытанных мною CMS не было, от сюда печальные выводы. Если такие мелочи проявляются при установке (пусть и в 1 случае из ста), то что будет в процессе работы?

Честно говоря, оставляя такой пост я ожидал увидеть примерно такие ответы:
— я работаю с CMS уже n лет, и стабильность, надежность и безопасноть системы не вызывают нарекания. Система молодая и активно развивается, рекомендую попробовать ее основательнее и убедиться, как она Вам понравится.
— я работаю еще больше, проблемы действительно существуют, но на безопасности в целом это все не сказывается. Экзотические ситуации пока просто не обрабатываются, потому что проект только развивается и внимание разработчиков акцентировано на развитии базовой функциональности.
— я работаю недавно, есть еще вот такая и такая проблема, но они совершенно не сказываются на качестве. Попробуйте cms еще, Вам понравится.

Вместо этого я получил минусы в карму, обвинения в ламерстве и… все. Увы.

Sign up to leave a comment.

Articles