Andry
С нами с 02 июля 2020; Место в рейтинге пользователей: #3498Кто-нибудь пробовал писать кеширование для mFilter2?
Этот сниппет нужно вызывать некешированным.
Но это потому что стандартный механизм кеша в MODX кеширует слишком… топорно.
Что, если написать свое кеширование, которое будет зависеть от get-параметров? В него будет включена пагинация и примененные фильтры.
Кто-нибудь пробовал? Какие тут подводные камни?
Не хочется потратить несколько часов, а то и дней. И понять, что идея «так себе».
Но это потому что стандартный механизм кеша в MODX кеширует слишком… топорно.
Что, если написать свое кеширование, которое будет зависеть от get-параметров? В него будет включена пагинация и примененные фильтры.
Кто-нибудь пробовал? Какие тут подводные камни?
Не хочется потратить несколько часов, а то и дней. И понять, что идея «так себе».
Возможно ли в сниппете, вызванном из чанка tpl, получить переменные товара, которые устанавливаются при вызове msProducts?
Я вызываю msProducts. В аргументе tpl я указываю чанк. В этом чанке я вызываю сниппет. Как мне в сниппете получить значения, которые msProducts отправил в чанк? Я имею в виду значения конкретного товара (значения опций, pagetitle, longtitle и т.д.).
Их нужно в сниппет самому передавать? Но ведь значений очень много может быть. А еще опции, которые зависят от родителя товара. Просто так все это не передать в сниппет. Тут будут сложности и overhead.
Может, все же есть способы получить данные от msProducts в сниппете, который вызывали в чанке tpl, не передавая их в сниппет явно? Может, в каком-то массиве внутри $modx они содержатся? Или у $modx есть функция для их получения?
Их нужно в сниппет самому передавать? Но ведь значений очень много может быть. А еще опции, которые зависят от родителя товара. Просто так все это не передать в сниппет. Тут будут сложности и overhead.
Может, все же есть способы получить данные от msProducts в сниппете, который вызывали в чанке tpl, не передавая их в сниппет явно? Может, в каком-то массиве внутри $modx они содержатся? Или у $modx есть функция для их получения?
Несколько вопросов про API кеширования от новичка
Делаю сайт на fenom.
Узнал, что MODX не кеширует файловые сниппеты на fenom. А также, что статичные сниппеты — это оверхед, который замедляет сайт. И что по-хорошему надо сниппеты делать файловыми (на fenom). Но при этом писать кеширование для них.
Стал разбираться, возникло несколько вопросов.
Узнал, что MODX не кеширует файловые сниппеты на fenom. А также, что статичные сниппеты — это оверхед, который замедляет сайт. И что по-хорошему надо сниппеты делать файловыми (на fenom). Но при этом писать кеширование для них.
Стал разбираться, возникло несколько вопросов.
Как в новом TinyMCE (RTE) сделать так, чтобы в statusbar были показаны не только теги, но и классы — как в старом TinyMCE?
Прикладываю скриншоты из старого старого и нового TinyMCE.
Почему phpthumbon создает вложенную папку с кешем. Как исправить?
Всем привет.
Есть такой сниппет:
Я вызываю его:
Результат:
Вопрос. Почему две папки /assets/cache_image/ в результате? Зачем это? Как от этого избавиться?
Есть такой сниппет:
<?php
if (!$src) return '';
$src = $modx->runSnippet('phpthumbon', [
'input' => $src,
'options' => '&w=200&h=200'
]);
$src = $modx->runSnippet('phpthumbon', [
'input' => $src,
'options' => '&w=100&h=100'
]);
return $src;
Я вызываю его:
[[img_draw?
&src=`/assets/images/products/rar/kr01/01.jpg`
]]
Результат:
/assets/cache_image/assets/cache_image/products/rar/kr01/01_200x200_9c7_100x100_791.jpg
Вопрос. Почему две папки /assets/cache_image/ в результате? Зачем это? Как от этого избавиться?
Сущность ­ в TinyMCE в MODx невидимая. Как сделать ее видимой?
Я добавил в TinyMCE сущность shy (в исходном коде контента). Закрыл редактор исходного кода. Открываю его снова — shy нет. Но на странице переносы работают. То есть, shy просто стала невидимой.
Как сделать ее видимой?
Если скачать TinyMCE RTE, то там такой проблемы нет. Но мне нужен именно TinyMCE (просто — без RTE).
Как сделать ее видимой?
Если скачать TinyMCE RTE, то там такой проблемы нет. Но мне нужен именно TinyMCE (просто — без RTE).
Как в MODx или TinyMCE сделать возможность создавать превью картинки?
Здравствуйте.
На сайте есть статьи. В статьях есть картинки. Картинки кликабельные — при нажатии увеличиваются во всплывашке.
С первого взгляда все просто — я оборачиваю тег img в тег a, в теге a указываю href- полную картинку. И вешаю, например, lightcase на тег a при загрузке страницы.
Но как мне сделать возможность нужным образом обрезать картинку? Чтобы вставить в текст статьи именно обрезанный фрагмент.
На сайте есть статьи. В статьях есть картинки. Картинки кликабельные — при нажатии увеличиваются во всплывашке.
С первого взгляда все просто — я оборачиваю тег img в тег a, в теге a указываю href- полную картинку. И вешаю, например, lightcase на тег a при загрузке страницы.
Но как мне сделать возможность нужным образом обрезать картинку? Чтобы вставить в текст статьи именно обрезанный фрагмент.
После переноса сайта с боевого хостинга на локальный сломался minifyx. Как исправить?
Я перенес сайт на локалку с боевого хостинга. И теперь у меня то, что подключалось в css, не подключается (шрифты, картинки...). Точнее, подключается, но неправильно. Пропускается имя сайта. Вот, например:
Если подключать скрипты не через minifyx, а стандартным способом, то все работает.
http://assets/template/images/img.png
А имени сайта перед assets нет. Почему так? В настройках контекстов я поменял host и site_url. В системных настройках я поменял site_name. Что я забыл?Если подключать скрипты не через minifyx, а стандартным способом, то все работает.
Если я вызову сниппет (внутренний) из чанка, который вызывается с помощью другого сниппета (внешнего), как будет работать кеширование внутреннего?
Я вывожу карточки товаров через pdoResources. В каждой карточке вызывается сниппет, который возвращает определенную информацию.
Мне надо этот внутренний сниппет вызывать некешированным (с воскл. знаком) или можно кешированным?
Насколько я знаю, кеширование работает для ресурса, а не для карточки. Поэтому надо вызывать некешированным — чтобы информация каждой карточки выводилась правильно. Я прав?
Или может, это вообще ни на что не влияет, главное — внешний сниппет? В данном случае pdoResources. Если так, то для правильного вывода информации каждой карточки мне вызывать pdoResources кешированным или нет?
Мне надо этот внутренний сниппет вызывать некешированным (с воскл. знаком) или можно кешированным?
Насколько я знаю, кеширование работает для ресурса, а не для карточки. Поэтому надо вызывать некешированным — чтобы информация каждой карточки выводилась правильно. Я прав?
Или может, это вообще ни на что не влияет, главное — внешний сниппет? В данном случае pdoResources. Если так, то для правильного вывода информации каждой карточки мне вызывать pdoResources кешированным или нет?