Всего 123 606 комментариев

Valentin Rasulov
16 октября 2012, 23:17
0
1) вариант &startId=`[[*id:is=`5`:or:is=`6`:then=`[[*id`]]:else=`*parent`]]`
5 и 6 это и есть город1 и город2

2) вариант. В основном если у вас город содержит поткатегории, логично тогда что город, это контейнер а подготегории, это ресурсы не являющии контейнером. Тогда
&startId=`[[*isfolder:is=`1`:then=`[[*id`]]:else=`*parent`]]`
Иван Брежнев
16 октября 2012, 22:26
0
Я думаю нужно написать плугин на событие OnSiteRefresh который будет ходить по всем опубликованным ресурсам. Но это накладно как мне кажется. И если у вас рендер одной страницы достигает 8 сек. ты можно легко упереться в time limit
Иван Брежнев
16 октября 2012, 22:23
0
Все равно это очень много. У меня когда рендер достигает 2 сек. я ужу чуть седым не становлюсь =) т.е. начинаю копаться в коде и оптимизировать все что можно.
Denys Butenko
16 октября 2012, 22:20
0
Подскажите, как создать кэш всех страниц не заходя на них после очистки?)
Denys Butenko
16 октября 2012, 22:18
0
Это без кеша. Плюс это основная страница, а на ней натыкано очень много. Вот думаю, как определить какой сниппет сколько жрет памяти и быстродействие, но незнаю как)
Василий Наумкин
16 октября 2012, 17:23
0
При файловом классе и включенном apc сессия кэшируется и некорректно работает. Это не глюк.

Либо класс менять, либо apc отключать — одно из двух.
Григорий Розенбаум
16 октября 2012, 17:05
0
Только как три дня разобрался с проблемой из за APC… Делаю сайт на рево, инет-магазин (используется шопкипер, мини-шоп пока не тестировал), домашний образ убунты — все окей, а на сервере не работает (петерхост) корзина- или не обновляется или во время добавления ошибка. После нескольких дней мучений наконец-то вставил в htaccess apc.cache_by_default off и все заработало!
А может быть просто надо было изменить класс в натройках Modx? Или это все таки косяк разработчиков? Если да — надо на форме попросить, чтобы они доработали скрипт для работы с php-apc.
Иван Брежнев
16 октября 2012, 15:28
0
Нужно пробовать.
Александр Наумов
16 октября 2012, 15:19
0
Спасибо, очень полезная статья!
Евгений Дурягин
16 октября 2012, 15:01
0
Лучше использовать xPDO::OPT_CACHE_PREFIX
Евгений Дурягин
16 октября 2012, 14:58
0
Только при беглом просмотре исходников PDO::OPT_CACHE_PATH должен равнятся абсолютному пути.
Иван Брежнев
16 октября 2012, 14:43
0
Либо я еще вот такой вариант думал

$modx->cacheManager->set('key123', $str, 3600, array(
xPDO::OPT_CACHE_KEY => 'my_cache_key',
xPDO::OPT_CACHE_PATH => 'my/cache/path'
)
);

И в настройках cache_handler указать my_cache_key_cache_handler = xPDOFileCache
Василий Наумкин
16 октября 2012, 13:02
0
https://github.com/modxcms/revolution/tree/develop/core/xpdo/om
Андрей, Омск
16 октября 2012, 12:58
0
Василий, а как устроены драйверы для разных СУБД в xPDO? Насколько сложная задача — написать самому требуемый драйвер? И где можно взять пример?
Василий Наумкин
16 октября 2012, 12:48
0
Я не работал с Firebird, не знаю, насколько оно совместимо с xPDO.
Драйверов для нее тоже не нашел — modx.com/search-temp/?query=xpdo%20firebird.

В общем, либо писать самостоятельно, по образцу Mysql, либо использовать поддерживаемую БД.
СикретНаме
16 октября 2012, 11:41
0
WF тут не причём, судя по всему. Это к вёрстке, если я правильно понимаю задачу. у Вас есть список город1, город2, город3, город4 итд — это категории. У этих пунктов есть подпункты (они же — подкатегории) — город1.1, город1.2, город2.1, город2.2 итд. у них могут быть разделы — город1.1.1, город1.1.2, город2.1.1, город2.1.2 итд. Это всё — ul li список, в котором вложенные ul li списки. Будут они сворачиваться после клика/увода мышки с активной области или нет, отвечать может, например, js. Далее в бой идут чанки WF.
Николай
16 октября 2012, 11:19
0
Находясь в категории Город1, мне нужно чтобы навигация шла именно из него, то-есть нажимая на категория 1\2 они в последствии не исчезали, а под ними уже были под категории. Так же и с город2
Я же не могу в шаблоне прописать вызов меню, а в нем startid=`1`, я тогда не попаду во второй город, но и динамический указать не могу &startId=`[[+id]]`, тогда если я буду в под категории, она и будет &startId и категорий выше не будет…
СикретНаме
16 октября 2012, 11:19
0
По поводу плейсхолдера я так и подозревал, а то, что «render time:» — это обычный текст прописанный перед плейсхолдером не подумал, и решил, что там что-то неведомое, вот я мамонт… Спасибо за науку, постараюсь быть внимательнее к таким вещам!
Евгений Дурягин
16 октября 2012, 10:18
0
Опечатка, должно быть xPDO::OPT_CACHE_HANDLER
Евгений Дурягин
16 октября 2012, 10:18
0
Ну можно еще и так:
$modx->cacheManager->set('key123', $str, 3600, array(
xPDO::OPT_CACHE_KEY => 'blablabla',
xPDO::OPE_CACHE_HANDLER => 'xPDOFileCache')
);
Сохранит в файлах

$modx->cacheManager->set('key123', $str, 3600, array(
xPDO::OPT_CACHE_KEY => 'blablabla',
xPDO::OPE_CACHE_HANDLER => 'cache.xPDOMemCache',
'blablabla_memcached_server' => 'localhost:11211'
)
);
Сохранит в memcached

Хотя это все насколько я помню, нужно все перепроверять.