Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
15 февраля 2015, 12:37
0
Функция вместо открытого файла получает строку.
Василий Наумкин
15 февраля 2015, 10:38
0
Конечно, на новой всё гладко.
Василий Наумкин
15 февраля 2015, 07:13
0
Решение давно есть — mSearch2.

У кого нет желания покупать, можно собрать из репозитория на GitHub.
Василий Наумкин
13 февраля 2015, 21:53
0
То есть, было выключено? Или ты отключил и заработало?

Поясни, пожалуйста.
Василий Наумкин
13 февраля 2015, 21:52
1
0
В последних версиях MODX есть настройка cache_alias_map — попробуй отключить. Настройка cache_handler должна быть xPDOFileCache.

Также проверь все остальные настройки кэширования, чтобы были стандартными — прям сравни со свежеустановленным сайтом. Версию MODX тоже лучше обновить до последней стабильной — 2.3.3-pl.

Как я и предполагал, проблема у тебя общая, с тикетами никак не связанная.
Василий Наумкин
13 февраля 2015, 18:31
0
Нет, всё в порядке и на последней версии.

s1135.h3.modhost.pro/ — проверяй. Могу дать данные от админки.
Василий Наумкин
13 февраля 2015, 18:00
0
Укажи &cacheTime=`-1`

Но фильтр здесь не при чем.
Василий Наумкин
13 февраля 2015, 17:56
0
и если тикет сразу публикуешь, то да, редиректит сразу на тикет, если же его сразу в черновик, а потом опубликовать, то перекинет просто на главную
Так не должно быть.

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

Вот, смотри код — редирект в корень сайта происходит только если возвращается пустой url от только что опубликованного ресурса.
Василий Наумкин
13 февраля 2015, 17:21
0
то документ публикуется, выводится на странице где вызван «getTickets», но открыть его нельзя
При публикации ты должен попасть сразу на эту страницу и увидеть опубликованный тикет. Если так и есть — то документ работает и проблема у тебя в выводе тикетов, а не в публикации.

Возможно, ты просто выводишь их кэшированными, или у тебя там какой-то сложный чанк. Я проверил только что на тестовом сайте — проблемы нет.
Василий Наумкин
13 февраля 2015, 16:11
0
Каких параметров? Какого взаимодействия?

Кэшированный сниппет выполняется один раз и сохраняется в кэш. Второй раз не выполняется, пока кэш не будет очищен. Некэшированный выполняется каждый раз при загрузке страницы.

Какие, блин, могут быть вопросы?
Василий Наумкин
13 февраля 2015, 15:53
+1
И всё ради того, чтобы показать «Спасибо, вы опубликовали тикет!»

По моему, правильнее штатно публиковать тикеты и сделать плагин на создание документа.
1. Проверить класс Ticket и $mode == 'new'
2. Установить $_SESSION['redirectTo'] = 'любой адрес'.
3. При открытии юзером любой страницы проверять этот флаг. Если есть — редиректить на адрес и убирать его из сессии, чтобы срабатывал только один раз.

Таким образом, юзер сразу после публикации пытается перейти на свой тикет, а попадает на указанную в плагине страницу.
Это лучше отражает логику поставленной задачи, чем скрытая публикация черновиков.
Василий Наумкин
13 февраля 2015, 15:46
0
В чем смысл подобных вопросов?

Замерь скорость загрузки страницы с кэшированием и без. Сравни. Сделай выводы.
Василий Наумкин
13 февраля 2015, 13:11
0
Код админки MODX выглядит примерно так
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru" xml:lang="ru">
<head>
<title>Панель | miniShop2</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


<link rel="stylesheet" type="text/css" href="/manager/assets/ext3/resources/css/ext-all-notheme-min.css" />
<link rel="stylesheet" type="text/css" href="/manager/templates/default/css/index.css" />

<script src="/manager/assets/ext3/adapter/ext/ext-base.js" type="text/javascript"></script>
<script src="/manager/assets/ext3/ext-all.js" type="text/javascript"></script>
<script src="/manager/assets/modext/core/modx.js" type="text/javascript"></script>
<script src="/connectors/lang.js.php?ctx=mgr&topic=topmenu,file,resource,welcome,configcheck,ace:default&action=" type="text/javascript"></script>
<script src="/connectors/modx.config.js.php?action=&wctx=mgr" type="text/javascript"></script>

То, что у тебя — это код какого-то сайта, а не админки. Наверняка заморочки с rewrite модулем веб-сервера.

А хотя… Там всякие iframe — может это такой элегантный взлом.
Василий Наумкин
13 февраля 2015, 13:07
0
Судя по коду страницы — это не админка MODX.
Василий Наумкин
13 февраля 2015, 07:26
+1
Это для тех случаев, когда были изменены правила генерации uri, и нужно их перегенерировать у всех ресурсов.

Раньше это было внутри обычной очистки кэша, и генерация проводилась постоянно. Сейчас вынесли в отдельный пункт, чтобы обычная очистка кэша работала быстрее.
Василий Наумкин
12 февраля 2015, 20:26
0
Там есть чанки.

Их можно менять. Или даже указывать свои.
Василий Наумкин
12 февраля 2015, 17:09
1
0
[[#SESSION.sessName]] — это кэшированный вызов.

Можно попробовать [[!#SESSION.sessName]]
Василий Наумкин
12 февраля 2015, 16:00
0
Ну а вот было бы верхнее меню Ext компонентом — не было бы вообще никаких проблем.

А для замены jQuery Ext не подходит, понятно.
Василий Наумкин
12 февраля 2015, 15:40
0
Я, конечно, могу чего-то не понимать, но в работе с Ext JS практически не нужно лазить в DOM.

То есть, вообще. Ты работаешь с объектами, а он их уже представляет в виде html на странице — тебя не заботит, как именно.

Загляни в исходники компонентов MODX — много там getElementById и подобного? Да вообще нету. Там есть:
var grid = grid = Ext.getCmp('my-grid');
if (grid) {
	var store = grid.getStore();
	store.reload();
}
и таблица обновила данные.