[EVO] MODX Evo Custom v1.1b-d7.1 (03.08.2015)

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

За Релиз очень и очень большое спасибо Agel_Nash ибо все плюшки это полностью его заслуга:

- В $modx->sendmail добавил возможность прикрепления файлов
- Обновил PHPMailer класс до последней версии
- Исправил баг с путем к кастомному login.tpl шаблону
- Исправил некорректное определение типа юзера (веб или манагер) в методе $modx->logEvent
- Поправил верстку в табах на странице редактирования документа
- Убрал лишние переносы строк и пробелы в основном кеш-файле
- Добавил дозагрузку несуществующих чанков из базы
- Исправил загрузку параметров по умолчанию у сниппета
- Обернул класс skynccache в проверку class_exists, чтобы можно было подменить кешер
- Добавил новое событие OnMakePageCacheKey
- Переформатировал страницу с информацией об ошибке
- Добавил поддержку параметров в Backtrace стеке на странице с ошибкой
- Добавил новое событие OnParseProperties в котором можно модифицировать параметры плагина/сниппета перед выполнением
- Добавил новые события OnBeforeLoadDocumentObject, OnAfterLoadDocumentObject
- В событие OnLoadDocumentObject теперь передаются параметры method, identifier и documentObject (подробнее: https://github.com/dmi3yy/modx.evo.custom/pull/210)
- В метод sendErrorPage теперь добавлен параметр для игнорирования вызова события onPageNotFound, чтобы с плагином кастомной маршрутизации не приходилось куралесить и сайт не уходил в рекурсию.
- Добавил новый метод checkSQLconnect для проверки соединения с базой
- Добавлено новое событие onBeforeLoadExtension для регистрации новых экстендеров
- Исправил ошибку с созданием нового модуля (параметры по умолчанию перезаписывают guid модуля)
- Исправил косяк с загрузкой индивидуального конфига к phpmailer из экстендера MODxMailer
- Исправил ошибку в DBAPI::update() с установкой значения NULL


По части того зачем это все надо, и как этим пользоваться ждем, комментарии от
Agel_Nash

Скачать как всегда можно или на GitHub или тут: modx.com.ua/download/

101 комментарий

avatar
Версия для обновления через extras будет через недельку, раньше к сожалению не доберусь смержить с dev ветки в clear но если кто поможет будет быстрее
avatar
Звучит:
Добвил косяк ...
avatar
Исправил:-)
avatar
03.08.2015 — новости из будущего? :)))
avatar
А можно пример использования OnParseProperties?
avatar
Косячнул я. В сборке сейчас баговая версия. Завтра зашлю исправления. А вообще, идея для события схожа с «набором параметров в рево». Для примера:
if($modx->event->name == 'OnParseProperties'){
  	$args = is_array($args) ? $args : array();
  	$out = array();

	switch($type){
   		case 'snippet':{
      		switch($element){
         		case 'news':{
             		 $out = array('id' => '10', 'idType' => 'parents');
              		break;
         		}
         		case 'title':{
              		$out = array('pagetitle' => $modx->documentObject['pagetitle'], 'longtitle' => $modx->documentObject['longtitle']);
              		break;
         		}
      		}
			break;
   		}
	}
	$modx->event->_output = array_merge($args, $out);
}

Ну и в шаблоне теперь можем вызывать [[title]] или [[news]]. Это будет равносильно тому, что мы бы написали
[[title? &pagetitle=`[*pagetitle*]` &longtitle=`[*longtitle*]`]] или [[news? &id=`10` &idType=`parents`]]
Комментарий отредактирован 2015-03-09 20:37:37 пользователем Agel_Nash
avatar
github.com/AgelxNash/modx.evo.custom/commit/ec3b9beaea5cb59c957ea81c52e304f0931988d0?diff=unified#diff-2e18c5da869a2b9aa8c28c6a30c43855R115 — вот это условие мне кажется нужно убрать. Потому что в настройках нет manager_login_tpl, в итоге будет все время дефолтный логин.
avatar
Это условие изначально было в коде еще до моих правок. Ну и судя по задаче, кто-то даже пользуется этим параметром. Ну и судя по коду, это отложенная дозагрузка значения в конфиг (Если в конфиге ничего нет, то подсовываем это. А если есть — то ничего не изменяем и дальше работаем со значением).
Комментарий отредактирован 2015-03-09 20:51:59 пользователем Agel_Nash
avatar
Сейчас посмотрел внимательнее — за счет бага #189 как раз и работало как надо (: А логика получается неверная заложена была изначально — ведь если есть login.tpl в папке с темой, то правильно использовать его, а уже если нет, то common/login.tpl
avatar
Да, ты прав. Отправил фикс
avatar
Я не пользуюсь какими-то дополнительными параметрами для смены шаблона логина.
У меня после установки свежей системы разных версий постоянно на этапе авторизации ошибка вываливалась о неверном пути. И независимо от выбранной в админке темы шаблон логина всегда был от стандартной темы, что как бы не совсем верно, при наличии у тем собственных шаблонов авторизации.
Исправив самостоятельно то, что описано в баге #189, шаблон авторизации стал подхватываться в зависимости от выбранной темы админки.
Уж не знаю, что правили для текущего релиза и почему закрыли баг, но в версии 1.1b-d7.1 лучше не стало — шаблон логина не меняется в зависимости от темы.

Пишу об этом сейчас, т.к. вновь столкнулся с этой «особенностью». Удивляет, что только я один.
avatar
Только что проверил на 1.1b-d7.1 — меняется шаблон логина.
avatar
Я посмотрел, что у меня в файле accesscontrol.inc.php не было изменений из фикса упоминающегося выше.
Видимо, когда я брал сборку с modx.com.ua, там не было этих правок. Да и сейчас, возможно еще нет.
Сам поправил.
avatar
А вот изменения из фикса в welcome.static.php приводят к тому, что вместо главной страницы админки отображается поломанный шаблон авторизации.
avatar
Начал ставить ручками, вот на этом шаге такое
Картинка
и далее никуда… :(
avatar
Добавил новые события OnBeforeLoadDocumentObject, OnAfterLoadDocumentObject
Я как-то переделывал сайт, где среди прочих проблем была проблема с кавычками в pagetitle, которые портили верстку в конструкциях типа alt="[*pagetitle*]" или даже content="[*meta-keywords*]". Так вот, с новыми событиями такую задачу (вот, кстати, похожий случай: modx.im/blog/questions/2918.html) можно было бы красиво решить плагином:
//@properties &fields=Список полей;text;pagetitle,longtitle,introtext,meta-description,meta-keywords
//@events OnAfterLoadDocumentObject
if ($modx->event->name == 'OnAfterLoadDocumentObject') {
        $fields = explode(',',$fields);
        foreach ($fields as $field) {
                $field = trim($field); 
                if (isset($documentObject[$field])) {
                        $value = is_array($documentObject[$field]) ? $documentObject[$field][1] : $documentObject[$field];
                        $documentObject['e.'.$field] = htmlentities($value, ENT_COMPAT, 'UTF-8', false);
                }
        }
        $modx->event->_output = $documentObject;
}

Плагин позволяет использовать тэги [*e.pagetitle*] и т.п. по аналогии с экстендером в DocLister. Возможности, мне кажется, открываются большие, особенно в сочетании с другими нововведениями — например, замена YAMS или аналог Minishop2.
Комментарий отредактирован 2015-03-11 19:28:41 пользователем Pathologic
avatar
Возможности, мне кажется, открываются большие, особенно в сочетании с другими нововведениями
В точку. Я сегодня на одном проекте ради эксперимента отключил кеш MODX и подменил парсер на Twig. Теперь теги MODX обрабатываются только внутри сниппетов использующих класс DLTemplate, а за все остальное отвечает Twig. При этом:
— Увеличилась скорость загрузки страницы
— Проблема с кешем отпала сама собой (Twig кеширует скомпилированный шаблон + при помощи дополнения можно кешировать отдельные блоки, которые могут быть общими для всех страниц)
— Повысился уровень безопаности сайта, т.к. теперь нет необходимости экранировать MODX теги в данных поступающих от пользователя
— Решился вопрос с версионностью шаблонов (LoadElement был первым шагом)
— Упростился процесс редизайна проекта даже «на горячую».

Ну а чтобы не быть голословным, вот скорость обработки объемной страницы:
— MODX парсер со стандартным кешем: 0.3 сек
— MODX парсер без кеша: 0.9 сек
— Нативный PHP шаблонизатор без кеша MODX: 0.8 сек
— Twig со встроеным кешированием и без кеша MODX, но с кешированием отдельных блоков: 0.2 сек
avatar
Ребят, скажите начал обновлять с версии 1.1b-d7.0.16
и на шаге вот такое выдает Скрин
потом в админку не зайти… help
avatar
Телепаты в отпуске. А баги подобного уровня по вашему скрину не лечатся. Да и учитывая тот факт, что у других людей обновление в большинстве случаев проходит более или менее гладко, то могу предположить, что проблема где-то между «Сайтом, хостингом и Вами». Т.е. носит не массовый харрактер, а индивидуальный, специфический. А значит:
— Не пускает только в админку, а сам сайт работает?
— Меняли ли алгоритм хеширования паролей?
— Не делались ли правки ядра до этого?
— Все ли файлы с новой версии закачали на сервер?
— Какая версия php на сервере?
— Не оборвался ли процесс обновления из-за настроек time_limit/memory_limit в php?
— Какие ошибки в логах сервера?
avatar
Выбор базы данных `b01-inprogress`

Как там LS поживает, по прежнему платит по 50$ за сайт? ;)
avatar
Поживает нормально :)
Остальное в личку… :)
avatar
вот поэтому я сразу и не обновляюсь, а жду недельку-две пока все грабли не повылазят)
avatar
На пустом шаблоне идет уже 12 запросов к базе новая версияхотя на старой версии было всего 3 запроса Прошлая версияэто я еще второе меню не успел подключить и форму.
avatar
В итоге получил 36 обращений к базе как то новая версия больше ресурсов потребляет.
А если ещё подключить вывод каталога товаров.
Комментарий отредактирован 2015-03-12 17:13:06 пользователем ruslannet
avatar
А вы не пробовали смотреть список SQL запросов? Подозреваю, что ваша проблема в регистре имен MODX элементов. Создадут чанк TesT, а в шаблоне пишут tESt. Вот вам и результат.
avatar
в регистре имен все ок 2 меню в шапке + 1 меню слева и выходит 36 запросов, хотя на старой версии все это дело 3 запроса к базе делает.
avatar
Вы сами запросы покажите. Сделать это можно плагином
$modx->dumpSQL = true;
на событиях OnWebPageInit, OnPageNotFound
Комментарий отредактирован 2015-03-13 08:53:16 пользователем Agel_Nash
avatar
Вас не смущает, что Wayfinder генерирует запросы в стиле
SELECT `snippet` FROM `modx_site_htmlsnippets` WHERE `modx_site_htmlsnippets`.`name`='';
В общем отправил PR 242. Ну и вообще, лишние SQL запросы могут появиться, если шаблонизатор в сниппете сначала будет вызывать $modx->getChunk(), а только потом пытаться подгрузить свои чанки из каких-то файлов. Но с этим нужно либо мириться, либо откатываться назад и соглашаться с тем, что динамическую подгрузку чанков (в случае необходимости) реализовать не получится.
avatar
запросы базы данных с предыдущей версии
<fieldset style='text-align:left'><legend>Query 1 - 1.04 ms</legend>SELECT DISTINCT DISTINCT sc.id, sc.menutitle, sc.pagetitle, sc.introtext, sc.menuindex, sc.published, sc.hidemenu, sc.parent, sc.isfolder, sc.description, IF(sc.alias='', sc.id, sc.alias) AS alias, sc.longtitle, sc.type,if(sc.type='reference',sc.content,'') as content, sc.template, sc.link_attributes FROM `ruslan`.`modx_site_content` sc LEFT JOIN `ruslan`.`modx_document_groups` dg ON dg.document = sc.id WHERE sc.published=1 AND sc.deleted=0 AND (sc.privateweb=0) AND sc.hidemenu=0 AND sc.id IN (3,4,5) GROUP BY sc.id ORDER BY sc.menuindex ASC 

Current Event  => OnLoadWebPageCache
Current Snippet => Wayfinder
Record Count => 3
Functions Path => executeParser > prepareResponse > outputContent > parseDocumentSource > evalSnippets > _get_snip_result > evalSnippet > eval > require > run > getData > select
</fieldset><br /><fieldset style='text-align:left'><legend>Query 2 - 1.27 ms</legend>SELECT DISTINCT DISTINCT sc.id, sc.menutitle, sc.pagetitle, sc.introtext, sc.menuindex, sc.published, sc.hidemenu, sc.parent, sc.isfolder, sc.description, IF(sc.alias='', sc.id, sc.alias) AS alias, sc.longtitle, sc.type,if(sc.type='reference',sc.content,'') as content, sc.template, sc.link_attributes FROM `ruslan`.`modx_site_content` sc LEFT JOIN `ruslan`.`modx_document_groups` dg ON dg.document = sc.id WHERE sc.published=1 AND sc.deleted=0 AND (sc.privateweb=0) AND sc.hidemenu=0 AND sc.id IN (7,8,27,9,10,11,12,13,14,15,16) GROUP BY sc.id ORDER BY sc.menuindex ASC 

Current Event  => OnLoadWebPageCache
Current Snippet => Wayfinder
Record Count => 11
Functions Path => executeParser > prepareResponse > outputContent > parseDocumentSource > evalSnippets > _get_snip_result > evalSnippet > eval > require > run > getData > select
</fieldset><br /><fieldset style='text-align:left'><legend>Query 3 - 1.14 ms</legend>SELECT DISTINCT DISTINCT sc.id, sc.menutitle, sc.pagetitle, sc.introtext, sc.menuindex, sc.published, sc.hidemenu, sc.parent, sc.isfolder, sc.description, IF(sc.alias='', sc.id, sc.alias) AS alias, sc.longtitle, sc.type,if(sc.type='reference',sc.content,'') as content, sc.template, sc.link_attributes FROM `ruslan`.`modx_site_content` sc LEFT JOIN `ruslan`.`modx_document_groups` dg ON dg.document = sc.id WHERE sc.published=1 AND sc.deleted=0 AND (sc.privateweb=0) AND sc.hidemenu=0 AND sc.id IN (7,8,27,9,10,11,12,13,14,15,16) GROUP BY sc.id ORDER BY sc.menuindex ASC 

Current Event  => OnLoadWebPageCache
Current Snippet => Wayfinder
Record Count => 11
Functions Path => executeParser > prepareResponse > outputContent > parseDocumentSource > evalSnippets > _get_snip_result > evalSnippet > eval > require > run > getData > select
</fieldset>

Пока буду работать на предыдущей версии.
avatar
В Wayfinder какой-то дурацкий метод fetch:

function fetch($tpl){
	// based on version by Doze at http://forums.modx.com/thread/41066/support-comments-for-ditto?page=2#dis-post-237942
	global $modx;
	$template = '';
	if ($modx->getChunk($tpl) != "") {
		$template = $modx->getChunk($tpl);
	} else if(substr($tpl, 0, 6) == "@FILE:") {
		$template = file_get_contents(substr($tpl, 6));
	} else if(substr($tpl, 0, 6) == "@CODE:") {
		$template = substr($tpl, 6);
	} else {
		$template = FALSE;
	}
	return $template;
}

Если поменять условия местами, то можно избавиться от ненужных запросов за чанками при использовании @CODE:

function fetch($tpl){
    // based on version by Doze at http://forums.modx.com/thread/41066/support-comments-for-ditto?page=2#dis-post-237942
    global $modx;
    $template = '';
    if(substr($tpl, 0, 6) == "@FILE:") {
        $template = file_get_contents(substr($tpl, 6));
    } else if(substr($tpl, 0, 6) == "@CODE:") {
        $template = substr($tpl, 6);
    } else  {
        $template = $modx->getChunk($tpl);
    } 
    return empty($template) ? FALSE : $template;
}

А вообще Issue 245 скоро год исполнится.
avatar
Есть такой момент, если включена галка в настройках — Использовать масив AliasListing только для Папок, то для папок в дереве не работает галка Участвовать в url, т.е. url остается например вида /index/contacts.html
avatar
Поставил данный update. Вроде как ок встал. После этого зашел на сайт и начал проверять основные функци и оказалось что ditto сломался. На странице где вызывается вывод каталога через ditto вижу не вывод товаров каталога а код вызова сниппета ditto. В итоге откатился на предыдущую версию. Не подскажите что может быть причиной?
avatar
С какой версии обновлялись?
avatar
С версии 1.1b-d7.0.18.
avatar
В версии 1.1b-d7.0.19 была изменена логика работы метода evalSnippets. При чем такое поведение характерно и для офф. версии. Так что текущий релиз абсолютно не связан с вашим недугом. А проблема которую вы озвучиваете, чаще всего из-за того, что делают некешируемый вызов внутри некешируемого.
avatar
Если я правильно разобрался, то вроде как у меня нет вызовов внутри описанных вами. Хотя есть один момент вложенности: сначала у меня через Ditto выводятся категории каталога (Категории) через:
<code><span class="pun">[!</span><span class="typ">Ditto</span><span class="pun">?</span><span class="pln"> </span><span class="pun">&</span><span class="pln">id</span><span class="pun">=</span><span class="str">`mainCatalogList`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">parents</span><span class="pun">=</span><span class="str">`49`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">tpl</span><span class="pun">=</span><span class="str">`mainCatalogItem`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">orderBy</span><span class="pun">=</span><span class="str">`pagetitle ASC`</span><span class="pun">!]</span></code>

А уже потом в каждой категории сами (Товары) через:
<code><span class="pun">[!</span><span class="typ">Ditto</span><span class="pun">?</span><span class="pln"> </span><span class="pun">&</span><span class="pln">id</span><span class="pun">=</span><span class="str">`id1`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">tpl</span><span class="pun">=</span><span class="str">`categoryItemTpl`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">extenders</span><span class="pun">=</span><span class="str">`request`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">paginate</span><span class="pun">=</span><span class="str">`1`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">display</span><span class="pun">=</span><span class="str">`12`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">tplPaginateNext</span><span class="pun">=</span><span class="str">`tplPaginateNext`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">tplPaginatePrevious</span><span class="pun">=</span><span class="str">`tplPaginatePrevious`</span><span class="pln"> </span><span class="pun">&</span><span class="pln">orderBy</span><span class="pun">=</span><span class="str">`new DESC, pagetitle ASC, inventory DESC`</span><span class="pun">!]</span></code>
Если в этом могут быть проблемы, то как тогда правильно тут расставить использование сниппета не подскажите?
Комментарий отредактирован 2015-03-20 07:27:11 пользователем h4lunatik
avatar
Второй вложенный сниппет должен быть не кешируемым. т.е. [[Ditto]]
avatar
при таком изменении перестает работать фильтрация :(
avatar
Значит основной сниппет попробуйте сделать не кешируемым. Я не знаю логики вашего приложение, а тут нужно понимание — где данные динамические, а где статичные.
avatar
Спасибо, попробую. А не появится вариант обновления через webUI из extras?
avatar
появиться но попозже
avatar
тогда попробую пока еще раз обновиться ручками, а если не получиться то подожду в extras
avatar
Есть 2 абсолютно одинаковых сайта.
Первый рабочий сайт, второй-точная копия рабочего сайта на том же хостинге, только на субдомене деланая для тестов.
Собственно вот.
Рабочая версия сайта на старой админке
1.1b-d7.0.18
Mem: 15 mb, MySQL: 0,0767 s, 61 request(s), PHP: 0,2556 s, total: 0,3322 s, document from database
Mem: 14,25 mb, MySQL: 0,0205 s, 46 request(s), PHP: 0,1896 s, total: 0,2102 s, document from cache

1.1b-d7.1
Mem: 9 mb, MySQL: 0,0757 s, 74 request(s), PHP: 1,9675 s, total: 2,0432 s, document from database
Mem: 9 mb, MySQL: 0,0278 s, 59 request(s), PHP: 1,3608 s, total: 1,3885 s, document from cache

Производительность почему то сильно просела.
AliasListing и там и там для папок включен.
Хотя на тестовом сайте если отключить AliasListing, то только оперативки больше ест.
avatar
1) Выросло число запросов. Но время их выполнения не изменилось. То, что у вас изменилось время выполнения php скриптов — говорит только об одном: не корректная архитектура проекта. Других причин я реально не вижу, т.к. в данной ветке лично с моей стороны никакие изменения не влияют на производительность. А если таковые и есть (вызовы новых событий и т.п.), то их нужно специально еще активировать.
2) Между версиями 7.0.18 и 7.1 есть еще как минимум 7.0.19
3) В ядро включены изменения проделанные в офф. версии.

Посему, для чистоты эксперимента, я могу вам посоветовать развернуть еще как минимум 2 версии:
— офф. версию с github
— сборку дмитрия версии 7.0.19

После чего можно будет уже делать выводы о том, в какой версии есть изменения в производительности.
avatar
Да, действительно, прошелся по всем страницам и сделал выводы, что время генерации из кеша больше секунды только на страницах где есть вывод eFilter, если убрать eFilter и сделать вывод Доклистеа, то изменений в скорости работы php практически нет с версией 7.0.18
avatar
99% вероятность — что стоит старый DocLister :)
avatar
А вот как раз и нет)))) и eFilter и DocLister ставились из репо свеженькие, єто основное отличие от рабочего сайта. Могу дать доступы глянуть:)
avatar
А если те же самые версии, что и на основном сайте поставить — такая же разница?
Т.е. разница из-за версии modx или из-за версий DocLister и eFilter?
Какая версия DocLister стоит на обоих сайтах?
Комментарий отредактирован 2015-03-20 18:45:16 пользователем webber
avatar
Сегодня поэкспериментирую и отпишусь.
avatar
Подведу предварительные итоги. 99% что разница из-за версии modx. на 7.0.18 ставлю свежий eFilter и DocLister, все отрабатывает молниеносно, меньше чем за 0,2 секунды. что с аяксом, что без аякса. Обновляю дижок через install до 7.1(закатываю поверху), да и если на чисто эта версия установлена, то сразу в скорости пипец. выборка из базы 2 сек вместо 0,2, из кеша 1,5 сек, вместо 0,1 сек. Поверху ставлю версию 7.0.18 и все опять летает.
7.0.19 не нашел, потому с ней не получилось провести экспериментов.
Комментарий отредактирован 2015-03-21 14:43:12 пользователем proud
avatar
Проверил, на офф версии все шустро и без замечаний. Возникают проблемы только на develop версии сборки 1.1b-d7.1
avatar
Мистика. Скиньте доступ к фтп в личку. Буду искать проблемный коммит
avatar
В общем ситуация следующая. Проблемный commit в сборке. Т.к. этот коммит осуществляет переброс изменений из офф. версии в сборку, то находим проблемный commit в офф. версии, но позже для него прислали фикс исправляющий проблему производительности. К сожалению, этот фикс не успел войти в сборку. Поэтому и получилось, что офф версия шустрая — т.к. там уже исправили это дело. А в сборку Дмитрия еще не перенесли фикс…

Думаю в скором времени стоит ждать новой версии. Естественно с плюшками, а не только фиксом;-)
avatar
Спасибо огромное за проделанную работу. Подождем новой версии)
avatar
github.com/dmi3yy/modx.evo.custom/commit/a1df2df9a0ddbcd6de5bb11a4947232356551324

можно просто перезалить manager/includes/document.parser.class.inc.php
если все ок вечером оформлю след релиз и постараюсь сделать версию для обновления через extras
avatar
Короче с новой версией SMTP умер. При попытке отправить сообщение с использованием SMTP тупо виснет страница и вся система.
avatar
Вот жеж фикс. Правда он не вошел в тег 1.1b-d7.1, поэтому скачивать нужно с ветки develop
avatar
UPD — проблема нашлась и не в самой системе. Хотя mailru и указывает TLS как доступный, на самом деле работает только SSL. Важно учитывать.
avatar
Извините, плохо разбираюсь в MODX. Я правильно понял, что если у меня сейчас стоит версия 1.1b-d7.0.16, то мне нужно будет поставить промежуточные версии, а потом обновить до последней?
avatar
Нет. Можно просто обновляться.
avatar
я не смог обновиться с 1.1b-d7.0.16
писал выше об этом, но никто не отреагировал
avatar
Тогда вам в топик «Объявления о работе». Я вчера обновлялся с более старой чем у вас версии и все нормально прошло.
комментарий был удален
комментарий был удален
комментарий был удален
avatar
Ответил вам. В следующий раз старайтесь баг-репорты оформлять более подробно. Иначе на вникание в подобные проблемы уходит больше времени, чем на их устранение. Тем более, если проблема не в коде сборки/версии.

И да, вам никто ничего не обязан. Все делается на добровольной основе. На тот момент (когда вы писали о своей проблеме) никто из компетентных просто не захотел вникать, т.к. предоставленная информация из разряда «у меня тут ничего не работает, что мне делать?»…
avatar
Здравствуйте! У вас был раньше реквизит для небольшого доната на Яндекс-деньгах, только вот сейчас с работой просвет некоторый нарисовался :-) Или дайте реквизиты карты Сбербанка пожалуйста.
Есть вопрос — в этой сборке уже совместили вот этот вариант github.com/AgelxNash/CustomEvo — CustomEvo, или это уже потом будет в официальной сборке.
avatar
Есть немного другой функционал не настолько сильно правит кеш но тоже отодвигает порог количества документов довольно сильно
почитать можно тут: modx.im/blog/research/2294.html
в сборке включается в настройках ЧПУ

донатить можно сюда: ЯД 41001596309609
avatar
Дмитрий, спасибо! Сначала «задолжал» за DocLister — поэтому сначала туда отправлю :-) Оно уже хотел отправить с прошлой осени, но с работой было совсем плохо.
Удачи!
avatar
У вас был раньше реквизит для небольшого доната на Яндекс-деньгах
Я не испльзую ЯД. Вот актуальные реквизиты доната в пользу развития моих решений:
WMZ: Z762708026453
WMR: R203864025267
PayPal: agel_nash@xaker.ru


Реквизиты для развития сборки Дмитрия тут.

Что же касается CustomEvo, то на данный момент я сильно сомневаюсь в его актуальности, т.к. использование шаблонизатора twig полностью снимает проблему с кешем. Как появится время, я постараюсь об этом статью накидать.
avatar
Понял, эти реквизиты видел, вечером восстановлю вебмани и перешлю.
Оооо тысяча восторгов! Когда twig получиться, то будет просто великолепно. Если смогу осилить установку этого решения, то могу подробное описание сделать, с картинками.
Удачи!
avatar
Спасибо. С инструкцией постараюсь не затягивать;-)
avatar
Поделился решением пока без подробного объяснения установки. Надеюсь осилите.
avatar
Понял, спасибо! Буду делать.
avatar
После обновления сталкнулся с такой проблемой:
Error: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
Подскажите пожалуйста как исправить.
avatar
В htaccess раскоментировать строку:
#php_value date.timezone Europe/Moscow
avatar
Пробовал. не помогло.
avatar
привет хочу обновиться на MODX Evo Custom v1.1b-d7.1 (03.08.2015) со своего старого ModxEvo 1.0.14-d6.9 и выходит потом это везде joxi.ru/DmBneORsBMbVmP
avatar
надо версию с Git брать
вот исправление github.com/dmi3yy/modx.evo.custom/commit/89345c7c80ba63b9f3298f126643e625be443edd
можно просто document parser заменить
avatar
Нв Git только текущая версия 1.0.14-d6.16 (25.09.2014)
avatar
ветка develop
avatar
а ну сейчас попробую)
avatar
Так же( Странною Два сайта обновил. На одном норм на другом такая лажа
avatar
Обновил содержимое файла. Так же
avatar
Взял из ветки Develop и то же самое
avatar
На каждой новой системе, включая данную версию, приходится комментировать 1054 строчку в document.parser.class.inc.php, иначе при копировании документа выдает вот такое:
Warning: Cannot modify header information — headers already sent by (output started at /home/solopark/domains/doman.name/public_html/manager/includes/document.parser.class.inc.php:1054) in /home/solopark/domains/doman.name/public_html/manager/processors/duplicate_content.processor.php on line 35
И еще в файле phpthumb.class.php заменять все 47 escapeshellarg на @escapeshellarg, иначе сыпятся ошибки.
avatar
Ну что нет решения? Почему такая лажа joxi.ru/DmBneORsBMbVmP
avatar
Почему то на этой версии не получается завести модули RelativeTVList и redirectmap2. Пробовал и из extra устанавливать, и с github. Когда открываешь модуль — просто пустая страница. У кого нибудь были такие проблемы?
Комментарий отредактирован 2015-04-12 12:32:24 пользователем nohc
  • nohc
  • 0
avatar
PHP 5.4
avatar
Спасибо за ваши evo сборки Dmi3yy и сотоварищи которые принимали участие, пользую с удовольствием, очень много полезного по сравнению с чистой офф. сборкой.
Dmi3yy — вопрос по обновлению, для обновления можно использовать и ваш и оффициальный релиз?
Комментарий отредактирован 2015-04-14 09:55:26 пользователем event
avatar
Что-то BreadCrumbs пропали после обновления на версию с ветки develop, вижу, что версии сменились с 1.0.3 до 1.0.4, это в процессе, нужно подождать?
avatar
Здравствуйте. Возникла проблема: описывал здесь Ссылка
Разработчики решения грешат на сборку от Дмитрия. Можно ли это решить?
avatar
в вызов Ditto добавьте &phx=`1`
avatar
phx на сайте нету, я конечно попробовал на всякий случай, но ничего не изменилось :(
avatar
В последней версии перестали работать инлайн шаблоны в Wayfinder
avatar
Заметил странный баг. Если пишу:

<body[[if? &is=`[*sliderset*]:empty` &then=`class="inner"`]]>

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

<body[[if? &is=`[*sliderset*]:empty` &then=`class="inner"`]] >

с пробелом перед закрывающей >, то все отрабатывает нормально.
Написать так не трудно, но я кучу времени потерял, пока понял.
avatar
Насколько мне помнится, этот баг уже был пофиксен.
avatar
Заменил файл, не помогло.
avatar
вы новый тег создаёте)
<body[[if? &is=`[*sliderset*]:empty` &then=`class="inner"`]]>

получается
<bodyclass="inner">
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.