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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
12 августа 2015, 13:26
+1
Насколько я знаю, они планирует сделать работу через Composer.

Это привнесёт поддержку не только Fenom, но и еще тысяч других классов и шаблонизаторов.
Василий Наумкин
12 августа 2015, 13:11
0
Да быть не может!

Неужели, нужно было просто… подождать еще?
Василий Наумкин
12 августа 2015, 13:11
0
Видимо нужно повторить 12 раз? Открытие того или иного сайта зависит от настроек компьютера.

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

Проверить соответствие домена IP адресу на компьютере можно очень просто:
nslookup modx.pro
или
ping modx.pro
Будет показан IP адрес. Домен modx.pro, понятно, нужно заменить на свой.
Василий Наумкин
12 августа 2015, 12:55
0
Я уже 10 раз объяснил это в поддержке хостинга и объясняю еще раз: после смены IP домена, новый адрес должен разойтись во DNS серверам провайдеров.

Ваш домашний компьютер узнаёт у DNS сервера провайдера, на какой IP нужно обращаться при открытии любого сайта. Какой IP ему этот DNS отдаст, туда он и пойдёт.

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

Сделать с этим можно только одно — прописать в настройках своего компьютера нормальный DNS сервер, например от Google 8.8.8.8.

У меня, например, ваш сайт открывается еще со вчера, без проблем.
Василий Наумкин
12 августа 2015, 09:32
+2
В версии 2.1.1-pl поддерживаются наборы параметров и значения по умолчанию — см. обновление внизу заметки.
Василий Наумкин
12 августа 2015, 09:26
1
+4
А вообще, это издевательство, конечно!

С версии 2.1.1-pl, все обычные вызовы сниппетов становятся кэшированными:
{$_modx->runSnippet('pdoResources')}

Некэшированный вызов, понятно дело, вот такой:
{$_modx->runSnippet('!pdoResources')}
Можно обновляться.

Если очень хочется самому управлять кэшем — то верхний пример по-прежнему работает.
Василий Наумкин
12 августа 2015, 09:22
4
0
Вот 2 правила для Nginx: первое пропускает превьюшки, а второе запрещает открывать в галерее всё кроме них
location ~* ^/assets/images/products/\d+/\d+x\d+/ {
	access_log		off;
	expires			10d;
	break;
}

location ~* ^/assets/images/products/\d+/ {
	deny			all;
}
Наверное, можно и как-то красивее написать, но я не придумал.

Теперь никто не откроет полноразмерные картинки, и ты можешь отдавать их через PHP покупателям.
Василий Наумкин
12 августа 2015, 07:51
2
+4
Возможность такая есть, хоть и не совсем очевидная:
{if !$snippet = $_modx->cacheManager->get('cache_key')}
    {set $snippet = $_modx->runSnippet('pdoResources', [
        'parents' => 0,
        'tpl' => '@INLINE {$id} - {$pagetitle}',
        'showLog' => 1,
    ])}
    {set $null = $_modx->cacheManager->set('cache_key', $snippet, 1800)}
{/if}

{$snippet}
С одной стороны — нужно самому управлять кэшем, а с другой стороны — можно произвольно задавать параметры кэширования: ключ, время кэширования (в примере полчаса) и т.д.
Посмотреть этот кэш можно в /core/cache/default/.

set $null
при выставлении кэша нужно, чтобы не выводилась 1 при успешной работе $_modx->cacheManager->set.
Василий Наумкин
12 августа 2015, 05:48
1
+1
Вот, проверил — можно даже прямо массивы указывать, безо всяких JSON:
{$_modx->runSnippet('pdoResources', [
    'parents' => 19,
    'depth' => 0,
    'where' => ['isfolder' => 0],
    'showLog' => 1,
])}

Ну а так, автор Fenom предусмотрел тег ignore и пропуск выражений типа { expr } — то есть, с пробелами возле скобок.
Василий Наумкин
11 августа 2015, 21:00
+1
Прям бага-бага!

Документацию к Fenom хоть почитай, что ли.
Василий Наумкин
11 августа 2015, 17:46
+1
Да он и не исчезал. Просто включался только для режима html, а теперь, при установленом pdoTools с включенным Fenom, используется режим smarty.

Разобрался и дописал включение в этом режиме.
Василий Наумкин
11 августа 2015, 10:27
0
А стоимость доставки указывается в свойствах метода доставки.

Лично я против изменения исходников дополнения, но хозяин — барин.
Василий Наумкин
11 августа 2015, 10:22
0
Ты в курсе, что у статуса есть свойства «Фиксирует» и «Итоговый»? Именно они влияют на то, можно ли менять статус, а вместе с ним доставку и оплату у заказа.

То есть, просто убираешь «Итоговый» у нужного статуса и его можно менять:


Ну а пересчёт стоимости гораздо лучше повесить на отдельный плагин, если нужно.
Василий Наумкин
11 августа 2015, 10:10
0
У тебя будет еще масса подобных вопросов, так что советую сразу открывать исходники Tickets и смотреть, как они работают.
Василий Наумкин
11 августа 2015, 09:23
+2
Не может закэшировать системные настройки, понятно. А вот почему — нет.

Проверь права на файлы и директории кэша, может они изменяются кем-то, например скриптом, запускающимся по расписанию.

Бывает подобная ошибка, если от root работает какой-то MODX скрипт через cron — то он пишет кэш под своими правами, и сайт его потом использовать не может.
Василий Наумкин
11 августа 2015, 08:08
+2
Пагинация нужна для облегчения работы сервера и юзера. Объясни заказчику, что сайт может просто физически не вывезти показ 100 страниц за раз.

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

Не всё, что хочет заказчик, возможно сделать. Жизнь вообще несправедливая, как это ни печально.
Василий Наумкин
11 августа 2015, 08:05
0
Места на хостинг хватает? Может, кэш просто некуда записывать, пока всё не почистишь?

Ну и логи нужно смотреть: и движка, и самого сервера.
Василий Наумкин
10 августа 2015, 21:16
0
Если у тебя там свой класс ресурса, то может быть и свой процессор.

А в нём и события, которые вызываются при сохранении.
Василий Наумкин
10 августа 2015, 19:01
0
Событие это работает ровно в одном процессоре — снятия с публикации в контекстном меню админки.

При сохранении ресурса, то есть, при его редактировании, нужно использовать OnBeforeDocFormSave и OnDocFormSave.