Картинка minishop2
Добрый вечер
Необходимо вставить картинку в полную запись
В краткой записи я разобрался вставляю так <img src="[[+thumb]]" class="lazyload">
В полной записи необходимо вставлять картинку которая при заливке обжалась до 350х350.
Сейчас вставляю так <img src="[[+image]]" alt="" title="[[+name]]">
картинка вставляется в полном размере хотя при загрузке обжимается до нужного размера
[{"w":216,"h":224,"q":100,"zc":"1","bg":"000000"},{"w":350,"h":350,"q":100,"zc":"1","bg":"000000"]}
Каким образом вставлять картинку которая обжата до размера 350х350!? Заранее спасибо
Комментарии: 37
bezumkin.ru/modx/minishop2/admin/713/
Сами картинки лежат в галерее, а у товара только быстрые как-бы ссылки на первую картинку в самой мелкой уменьшенной и полной версии. То есть, за 350х350 надо идти в сниппет msGallery.
В будущем сниппет msProducts будет уметь джойнить сразу нужные картинки из галереи для вывода в каталоге.
У товара miniShop2 есть специальные поля — image и thumb, в которых лежат ссылки на первое изображение галереи, в полном размере и его самая мелкая превьюшка.
Сами картинки лежат в галерее, а у товара только быстрые как-бы ссылки на первую картинку в самой мелкой уменьшенной и полной версии. То есть, за 350х350 надо идти в сниппет msGallery.
В будущем сниппет msProducts будет уметь джойнить сразу нужные картинки из галереи для вывода в каталоге.
Спасибо за ответ.! Можно уточнить как скоро будет возможность вставлять нужную картинку, готов проспонсировать данное изменение. На данный момент решил выводить картинку доп полем, тупо вставляю ссылку на обжатую картинку, не удобно жутко. Планируется ли плагин импорта товара, и каким образом там будет реализована загрузка картинок.? Попробовал новый минишоп, очень радует скорость работы, на данный момент в каталоге 7670 товаров. При добавлении удобной сортировки по нескольким параметрам, без лишних мозготрахах, а также кнопки мне нравится, можно делать минишоп2 платным.
Готово, картинки можно прицеплять — вот коммит.
Можешь сам накатить эти изменения, либо жди следующей версии miniShop2.
Пример вызова:
Плейсхолдеры в чанке:
Можешь сам накатить эти изменения, либо жди следующей версии miniShop2.
Пример вызова:
[[!msProducts?
&includeThumbs=`120x90,360x24`
]]
Плейсхолдеры в чанке:
<img src="[[+120x90]]" />
[[+360x240:notempty=`<img src="[[+360x240]]" />`]]
Спасибо огромное.!
Добрый день!
Василий извини за нубский вопрос по поводу коммита. Вот это — properties.ms_products.php где мне найти?
спасибо)
Василий извини за нубский вопрос по поводу коммита. Вот это — properties.ms_products.php где мне найти?
спасибо)
Прочти доку по msProducts, это давно уже работает из коробки.
да я уже понял))) спасибо!
Подскажи если не трудно, как возможно вывести все изображения товара конкретной категории товара?
Подскажи если не трудно, как возможно вывести все изображения товара конкретной категории товара?
добрый вечер. написал вот такой снипет
спасибо!
<?php
$properties = implode("-", $scriptProperties);
$cache_key = "gallery".$properties;
$output = $modx->cacheManager->get($cache_key);
if ($output) return $output;
$images = $modx->getCollection('msProductFile', array('type' => 'image', 'parent' => 0));
foreach ($images as $image) {
//print_r($image->get('url'));
//print_r($image->get('product_id'));
$url = $image->get('url');
$id = $image->get('product_id');
$output .= $before.'<a href="'.$url.'" rel="prettyPhoto['.$id.']"></a>'.$after."\n";
}
$modx->cacheManager->set($cache_key,$output);
return $output;
выводит все картинки из галереи товаров. Подскажите как мне задать выборку по категории товаров,спасибо!
getCollection при выборе 100 записей работает медленнее в 1000 раз, чем выборка напрямую из таблиц.
Лучше так:
Лучше так:
if (!empty($parents) && $parents > 0) {
if (empty($depth)) {$depth = 10;}
$pids = array_map('trim', explode(',', $parents));
$parents = $pids;
foreach ($pids as $v) {
if (!is_numeric($v)) {continue;}
$parents = array_merge($parents, $modx->getChildIds($v, $depth));
}
}
$output = null;
$q = $modx->newQuery('msProductFile', array('type' => 'image', 'parent' => 0));
$q->innerJoin('msProduct', 'msProduct', '`msProductFile`.`product_id` = `msProduct`.`id`');
$q->select('`msProductFile`.`id`, `msProductFile`.`url`');
if (!empty($parents)) {
$q->where(array('`msProduct`.`parent`:IN' => $parents));
}
if ($q->prepare() && $q->stmt->execute()) {
while ($image = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$output .= '<a href="'.$image['url'].'" rel="prettyPhoto['.$image['id'].']"></a>'."\n";
}
}
return $output;
Нужно указывать параметр parents, для лимиторавания по категориям, иначе будет выводить отовсюду.
Крутяк!)))
вот тут только поменял на id категории, вроде работает, только незнаю правильно это или нет
Спасибо!!!
вот тут только поменял на id категории, вроде работает, только незнаю правильно это или нет
$q->select('`msProductFile`.`id`, `msProductFile`.`url`, `msProductFile`.`product_id`');
if (!empty($parents)) {
$q->where(array('`msProduct`.`parent`:IN' => $parents));
}
if ($q->prepare() && $q->stmt->execute()) {
while ($image = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$output .= '<a href="'.$image['url'].'" rel="prettyPhoto['.$image['product_id'].']"></a>'."\n";
}
}
Осталось придумать как сделать проверку на опубликованность. Спасибо!!!
Проверка на опубликованность и не удалённость:
$q->where(array('published' => 1, 'deleted' => 0));
Спасибо!!! наглость будет с моей стороны если я еще спрошу как вот такое добавить
title="'.$pagetitle['product_id'].'"
? )))
Сам то как думаешь?
Давай уже, дальше сам.
Давай уже, дальше сам.
if ($q->prepare() && $q->stmt->execute()) {
while ($image = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$i = $image['product_id'];
$res = $modx->getObject('modResource',$i);
$title = $res->get('pagetitle');
$output .= '<a href="'.$image['url'].'" rel="prettyPhoto['.$i.']" title="'.$title.'"></a>'."\n";
}
вот таким образом получилось добавить title, но время обработки выросло раза в три...(
msProduct — в данном случае и есть modResource.
Нужно всего лишь:
Нужно всего лишь:
$q->select('`msProductFile`.`id`, `msProductFile`.`url`, `msProductFile`.`product_id`, `msProduct`.`pagetitle`');
эвона как))) и правда пашет)))
Да, Вова, учи SQL.
да я уже понял что это мощная штука! Потихоньку разбираюсь с modx и со всем остальным… Третий месяц уже как засосало… интересно же)))
я все еще думаю как и куда условие проверки воткнуть, которое ты утром подсказал)))
P.s. не подсказывай!)
я все еще думаю как и куда условие проверки воткнуть, которое ты утром подсказал)))
P.s. не подсказывай!)
пришел к выводу что это условие дело не простое)))
как мне его проверить у modx_ms2_product_files
как мне его проверить у modx_ms2_product_files
вот так пробую но чет выводит пусто, в чем косяк?
$q = $modx->newQuery('msProductFile', array('published' => 1, 'deleted' => 0, 'type' => 'image', 'parent' => 0));
$q->innerJoin('msProduct', 'msProduct', '`msProductFile`.`product_id` = `msProduct`.`id`', 'msProductFile.published = 1 AND msProductFile`.deleted` = 0');
Тут должно быть AND а не ,
`msProduct`.`id`', 'msProductFile.published
да эту ошибку я уже заметил, но толку нет все равно.
может еще какая то дополнительная сортировка нужна?
может еще какая то дополнительная сортировка нужна?
… проверку на опубликованность надобно так да?
$q = $modx->newQuery('msProduct', array('class_key' => 'msProduct', 'published' => 1, 'deleted' => 0));
Если новый запрос, то можно так, да.
Если ты еще с моим примером работаешь — там это надо вписать в where.
Если ты еще с моим примером работаешь — там это надо вписать в where.
$q->where(array('published' => 1, 'deleted' => 0));
да с твоим, но выборка в таком виде
или я туплю?
[0] => Array ( [msProductFile_id] => 299 [msProductFile_product_id] => 12 [msProductFile_source] => 2 [msProductFile_parent] => 0 [msProductFile_name] => gallery-04.jpg [msProductFile_description] => [msProductFile_path] => 12/ [msProductFile_file] => 8f01bd34e430f133847685525c02e807.jpg [msProductFile_type] => image [msProductFile_createdon] => 2013-04-07 14:56:30 [msProductFile_createdby] => 2 [msProductFile_rank] => 0 [msProductFile_url] => /assets/gallery/12/8f01bd34e430f133847685525c02e807.jpg )
как я ее смогу отсортировать то по published и deleted?или я туплю?
А почему эту картинку отдельным TV не сделать?
А потом в магазине на 20 000 + товаров вы будите по разным в кладкам лазить и искать какая тв куда назначена?
Доброго времени суток, Василий!
в чанке tpl.msProducts.row есть картинка
как мне вывести картинку размером 200*200 (она генерится)
всю голову сломал
сильно не пинайте
с модх я на вы
спасибо
в чанке tpl.msProducts.row есть картинка
<img src="[[+thumb:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]" width="90" height="90" />
я так понял тут тока +thumb или +imageкак мне вывести картинку размером 200*200 (она генерится)
всю голову сломал
сильно не пинайте
с модх я на вы
спасибо
в шаблоне вызываю
в качестве
картинка так и не выводится что не так делаю?
[[!msProducts?
&includeThumbs=`200х200`
&tpl=`tpl.category`
]]
в шаблоне tpl.category в качестве
src=[[+200x200]]
в настройках сниппета msproducts includeThumb прописал 200x200картинка так и не выводится что не так делаю?
А в настройках источника файлов есть такой размер?
Генерируются ли такие превьюшки?
Генерируются ли такие превьюшки?
да все генерируется
выводится только thumb и image
самая маленькая картинка у меня 90*90
но thumb выводит 120*90
выводится только thumb и image
самая маленькая картинка у меня 90*90
но thumb выводит 120*90
все получилось
[[!msProducts?
&includeThumbs=`200х200` -- x был русский
&tpl=`tpl.category`
]]
Ура!
Здравствуйте, Василий!
Подскажите, пожалуйста, откуда подтягивается стандартная папка assets для AssetsUrl и где ее можно изменить. После установки системы она была изменена и теперь картинки, например, отображаются с неправильными урл, хотя при этом загружаются куда нужно.
P.S. Отдельно огромное спасибо за компонент и его поддержку.
Подскажите, пожалуйста, откуда подтягивается стандартная папка assets для AssetsUrl и где ее можно изменить. После установки системы она была изменена и теперь картинки, например, отображаются с неправильными урл, хотя при этом загружаются куда нужно.
P.S. Отдельно огромное спасибо за компонент и его поддержку.
Подскажите как выводить в категории, к примеру 5 изображений каждого товара?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.