Дмитрий Суворов
С нами с 01 августа 2013; Место в рейтинге пользователей: #185Чертов Кеш созданного снипетом изобрражения
Ребята, всю голову изломал, ситуация следующая, написал снипет (как мог, в 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=""/>
Главное на хостинге подменяется картинка новая, но она с тем же именем, и браузер после обновления страницы показывает старую, не могу побороть эту беду. Как быть? Проблема с выводом категорий Производителя товаров
Имеется такая картина: есть шаблон страницы производителя товаров. В нем с помощью pdoResources выводил информацию о бренде:
{$_modx->runSnippet('!pdoResources',[
'class' => 'msVendor',
'tpl' => '@FILE chunks/Brands/BrandPage.html',
'where' => '{"resource" : '~ $_modx->resource.id ~'}'])}
Расширение фильтрации mFilter2 для тегов Tagger
Подскажите, пожалуйста, как правильно написать?
В скрипте есть обновление пользователя. В результате этого обновления у него удаляется email вся информация. Если это не сложно — подскажите, пожалуйста, тут.
Обновление товара из фронтэнда процессорами.
Обновление товара из фронтэнда процессорами не авторизованными пользователями, получаю ошибку 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);
}
}
Как то так…Может кто что подскажет.
Спасибо!
Вывод всех пользователей и просмотр их профиля
Здравствуйте, помогите понять как сделать вывод всех пользователей группы user, и просмотр профиля каждого из них. Используется на сайте office, tickets, pdoTools.
Создал личный кабинет через office
На странице users вывел каждого юзера группы user через [[!pdoUsers]]
Как сделать подобное тому что на этом сайте?
Создал личный кабинет через office
На странице users вывел каждого юзера группы user через [[!pdoUsers]]
Как сделать подобное тому что на этом сайте?
Доступ к core из админки, когда папка вынесена
Для обеспечения безопасности сайта, часто рекомендуют выносить папку core за пределы веб сервера. Но так же часто бывает необходимость получить доступ к этой папке из админки. Для этого в меню — Медиа создаем новый источник файлов. Называем его. В параметрах basePath — указываем абсолютный путь к папке core (слэш на конце обязательно). basePathRelative — ставим НЕТ. После этого папка core доступна из админки
Получить адрес заказчика в плагине
Приветствую.
Задача простая: при создании юзером заказа прочитать в плагине поля адреса и в соответствии с ними выставить статус. Делаю так:
Без условия статус переключается. Как правильно добраться до поля «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» из плагина?..
Импорт в 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-й строке.
Динамические списки свойств для miniShop2
Добрый день!
Можно ли реализовать свойство для товара miniShop2 в виде динамического дополняющего списка?
Пример:
Выбираем Страну, подгружается список Городов в этой стране.
Или
Выбираем Марку Авто, подгружается список Моделей Авто для этой марки.
На финише для товара должно быть выбрано свойство, из последнего списка.
Может кто сталкивался? Может дополнение есть готовое?
Можно ли реализовать свойство для товара miniShop2 в виде динамического дополняющего списка?
Пример:
Выбираем Страну, подгружается список Городов в этой стране.
Или
Выбираем Марку Авто, подгружается список Моделей Авто для этой марки.
На финише для товара должно быть выбрано свойство, из последнего списка.
Может кто сталкивался? Может дополнение есть готовое?