- Заметки 248
- Комментарии 47
Чертов Кеш созданного снипетом изобрражения
Ребята, всю голову изломал, ситуация следующая, написал снипет (как мог, в php не бог) который накладывает текст на изображение. Есть рисунок, и есть форма с именем пользователя, он отправляет форму и имя его накладывается на изображение, все работает, но если он в форме еще раз меняет имя и отправляет опять форму, ему показывается первый рисунок, хотя в папке он уже другой, то есть из кеша берется рисунок. Я и так и так пробовал, в имя добавлял дату что бы всегда новый был рисунок, так порядок, но может накопиться куча рисунков от одного юзера, не вариант, но вот с постоянно заменяемым одним рисунком кеш не показывает обновленный рисунок :( как быть? Подскажите куда копать пожалуйста?
Вот код снипета моего limagehandler
Код укоротил, он работает, вызываю на странице так:
Вот код снипета моего limagehandler
<?php
// наше изображение
$img = ImageCreateFromJPEG("uploads/img.jpg");
$thumb_file = "uploads/";
$id_user = $modx->user->get('id');
$dir = $thumb_file.$id_user;
$path = mkdir($dir, 0777);
$name = isset($_POST[name]) ? $modx->stripTags($_POST[name]): '';
// определяем цвет, в RGB
$color2 = imagecolorallocate($img, 111, 213, 232);
// указываем путь к шрифту
$font = 'site/fonts/Robotobold.ttf';
imagettftext($img, 80, 0, 730, 930, $color, $font, $name); // Имя
imagejpeg($img, $dir.'/img_'.$id_user.'.jpg', 100);
$img = $dir."/img_".$id_user.".jpg";
return $modx->setPlaceholder('img-c',$img);
$modx->cacheManager->delete($userId, array(xPDO::OPT_CACHE_KEY=>'users_data'));
Код укоротил, он работает, вызываю на странице так:
[[!limagehandler]]
<img width="100%" src="[[!+img-c]]" alt=""/>
Главное на хостинге подменяется картинка новая, но она с тем же именем, и браузер после обновления страницы показывает старую, не могу побороть эту беду. Как быть? - ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
2
1 174
5
0
Проблема с выводом категорий Производителя товаров
Имеется такая картина: есть шаблон страницы производителя товаров. В нем с помощью pdoResources выводил информацию о бренде:
{$_modx->runSnippet('!pdoResources',[
'class' => 'msVendor',
'tpl' => '@FILE chunks/Brands/BrandPage.html',
'where' => '{"resource" : '~ $_modx->resource.id ~'}'])}
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
2
1 983
0
Расширение фильтрации mFilter2 для тегов Tagger
mFilter2 — фильтрация найденных результатов.
Tagger — система управления тегами.
3,1,2 — группы тегов Tagger-а.
Tagger — система управления тегами.
[[!mFilter2?
&filters=`
tagger|3:tgroup,
tagger|1:tgroup,
tagger|2:tgroup
`
&aliases=`
tagger|3==cars,
tagger|1==colors
`
]]
3,1,2 — группы тегов Tagger-а.
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
20
3 953
+8
Подскажите, пожалуйста, как правильно написать?
В скрипте есть обновление пользователя. В результате этого обновления у него удаляется email вся информация. Если это не сложно — подскажите, пожалуйста, тут.
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
1
1 135
0
Обновление товара из фронтэнда процессорами.
Обновление товара из фронтэнда процессорами не авторизованными пользователями, получаю ошибку permission_denied
Когда авторизован в админке, все работает. Хочу повесить на плагин.
Как быть. Баловался с правами политики доступа анонимам. Не помогло…
или как вот такой вот запрос переделать на save();
Может кто что подскажет.
Спасибо!
Когда авторизован в админке, все работает. Хочу повесить на плагин.
Как быть. Баловался с правами политики доступа анонимам. Не помогло…
или как вот такой вот запрос переделать на save();
$query = $modx->newQuery('msProduct');
$query->leftJoin('msProductData', 'Data');
$query -> where(array(
'Data.old_price:>' => 0
));
$results = $modx->getCollection('msProduct', $query);
foreach($results as $res){
if(time() >= strtotime($res->get('shareunpub'))){
$fields = $res->toArray();
$fields['price'] = $fields['old_price'];
$fields['old_price'] = '';
$fields['options-shareid'] = '';
$fields['options-sharecount'] = '';
$fields['options-shareunpub'] = '';
$response = $modx->runProcessor('resource/update', $fields);
}
}
Как то так…Может кто что подскажет.
Спасибо!
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
1
967
0
Вывод всех пользователей и просмотр их профиля
Здравствуйте, помогите понять как сделать вывод всех пользователей группы user, и просмотр профиля каждого из них. Используется на сайте office, tickets, pdoTools.
Создал личный кабинет через office
На странице users вывел каждого юзера группы user через [[!pdoUsers]]
Как сделать подобное тому что на этом сайте?
Создал личный кабинет через office
На странице users вывел каждого юзера группы user через [[!pdoUsers]]
Как сделать подобное тому что на этом сайте?

- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
4
3 532
0
Доступ к core из админки, когда папка вынесена
Для обеспечения безопасности сайта, часто рекомендуют выносить папку core за пределы веб сервера. Но так же часто бывает необходимость получить доступ к этой папке из админки. Для этого в меню — Медиа создаем новый источник файлов. Называем его. В параметрах basePath — указываем абсолютный путь к папке core (слэш на конце обязательно). basePathRelative — ставим НЕТ. После этого папка core доступна из админки
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
7
3 692
+6
Получить адрес заказчика в плагине
Приветствую.
Задача простая: при создании юзером заказа прочитать в плагине поля адреса и в соответствии с ними выставить статус. Делаю так:
Без условия статус переключается. Как правильно добраться до поля «room» из плагина?..
Задача простая: при создании юзером заказа прочитать в плагине поля адреса и в соответствии с ними выставить статус. Делаю так:
if ($modx->event->name=='msOnCreateOrder') {
$miniShop2 = $modx->getService('miniShop2');
if( $msOrder->get('room')=='?') $miniShop2->changeOrderStatus($msOrder->get('id'),7);
echo $modx->toJSON(array(
'success' => true,
'message' => '',
'data' => array(),
));
exit;
}
Без условия статус переключается. Как правильно добраться до поля «room» из плагина?..
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
1
3 109
0
Импорт в MODX Tickets из Wordpress
В очередной раз понадобилось перенести блог из Вордпресса в MODX. Раньше я для этого пользовался хитрым костылём с Articles. Сейчас он не работает, поэтому пришлось чинить. Доделывать мне его лень, так что это опять костыль. Но у меня он сработал.
Скачиваем файл, создаём новый сниппет, например, wpimport, вставляем в него текст из файла, и настраиваем всё параметры прямо в коде (я предупреждал — костыль!)
Скачиваем файл, создаём новый сниппет, например, wpimport, вставляем в него текст из файла, и настраиваем всё параметры прямо в коде (я предупреждал — костыль!)
- На 20-й строке указываем путь к файлу, экспортированному из WP.
- На 100-й строке появляется функция, которая расставляет теги абзаца, которых в файле WP нет.
- 115-я строка — ID родителя (куда будем импортировать?)
- 119-я — ID шаблона для постов.
- На 126 устанавливается class_key Tickets. Если хотите, можете сделать ModResource.
- Со 132-й строки пробуем скопировать все изображения из WP в папку, указанную на 152-й строке. Попутно меняем css классы у картинок на bootstrap.
- На 180-й строке пытаемся поменять href у ссылок, внутри которых были картинки.
- 199 – Сохраняем в интротекст всё, что перед катом.
- 209,210 — вызываем функции, которые сохраняют description и keywords в соответстующие ТВ, если в WP вы использовали All In One SEO Pack. ТВ для сохранения указаны в самом конце.
- ТВ для тегов на 339-й строке.
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
9
2 655
+12
Динамические списки свойств для miniShop2
Добрый день!
Можно ли реализовать свойство для товара miniShop2 в виде динамического дополняющего списка?
Пример:
Выбираем Страну, подгружается список Городов в этой стране.
Или
Выбираем Марку Авто, подгружается список Моделей Авто для этой марки.
На финише для товара должно быть выбрано свойство, из последнего списка.
Может кто сталкивался? Может дополнение есть готовое?
Можно ли реализовать свойство для товара miniShop2 в виде динамического дополняющего списка?
Пример:
Выбираем Страну, подгружается список Городов в этой стране.
Или
Выбираем Марку Авто, подгружается список Моделей Авто для этой марки.
На финише для товара должно быть выбрано свойство, из последнего списка.
Может кто сталкивался? Может дополнение есть готовое?
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВВровать ссылку
1
1 121
0
Вчера в 21:11
Здравствуйте
Есть желание использовать компонент polylang для автоматизации перевода с наименьшими усилиями, но есть пару вопросов, которые хотелось ...
Polylang 143
Вчера в 16:30
Добрый день.
Удалите плагин vpSystem от пакета.
[VirtualPage] - Виртуальные страницы. 183
Вчера в 08:40
Хочестя в тикеты при сохранении комментария добавить кнопку «проверить на ошибки» и при нажатии на нее проверить комментарий на ошибки в нейросети сох...
pbStudio: Создаём сайт с PageBlocks – настройка и главная страница 6
Вчера в 08:36
Нет, через апи идет запрос в ChatGPT, который формирует необходимые данные о блоке, а дальше PageBlocks их разбирает и создает все нужные элементы.
PageBlocks 2.6.0. Настройка меню MODX и гибкое управление страницей пользователя 12
Вчера в 00:03
Не работает парсинг с vk.com, vkvideo.ru
[videoGallery] 1.4.0 Поддержка VK Video и ещё пара фишек 9
17 апреля 2025, 23:01
Можете тоже подсказать как победить данную ошибку?
msGallerySearch - загрузка изображений в галерею minishop2 по ссылке и Google поиск картинок 44
17 апреля 2025, 21:35
Действительно! Самого главного я и не обозначил! Спасибо! Поправлю заголовок.
Речь идет именно о панели менеджера и возможности управления заказами.
...
Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 8
17 апреля 2025, 17:49
Очевидно ты используешь источник файлов, поэтому в админке путь прописан от источника, хочешь полный путь, откажись от источника файлов.
Не открываются загруженные файлы пишет страница не найдена 2
17 апреля 2025, 15:08
Привет, Henk. Спасибо за ответ! В посте по ссылке меня больше всего заинтересовала фраза «мы интегрировали AI в медиа-менеджер, чтобы значительно упро...
MODX/AI Hackathon Part 2 (27 марта) 4
17 апреля 2025, 13:17
в preg_match проверка проходит, и туда 100% приходит url
Здравствуйте! Первый раз такое вижу, у слеша, не 1 символ в строке, а 9!! Как это делает MODX 2