Вывод товаров на главной страницы
Всем привет, не могу сделать вывод новых товаров на главной страницы
вот вывод на страницы категории и все работает:
вот вывод на страницы категории и все работает:
[[pdoPage?
&element=`msProducts`
&tpl=`productGridTpl`
&limit=`12`
&tplPageActive=`@INLINE <li class="current"><a href="[[+href]]">[[+pageNo]]</a></li>`
&tplPageWrappe=`@INLINE <ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul>`
]]
а на главной даже такой код не работает, и пробовал на главной так [[msProducts]] и не работает Комментарии: 15
Только что проверил, да, не работает.
Но если указать &parents=`id категории с товарами`, то работает.
Но если указать &parents=`id категории с товарами`, то работает.
да, я с этим разобрался, а не подскажите, почему-то изображение выводится маленькое
вот чанк
вот чанк
<div class="col-md-3">
<div class="single-product">
<form method="post" class="ms2_form">
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="count" value="1">
<input type="hidden" name="options" value="[]">
<div class="single-product-img">
<a href="{$id | url}">
<img class="primary-img" src="{$thumb}" alt="{$pagetitle}" title="{$pagetitle}"/>
</a>
<div class="product-status">
{if $new?}
<div class="ribbon blue"><span class="product-new">новый!</span></div>
{/if}
</div>
</div>
<div class="single-product-content">
<div class="product-content-head">
<h2 class="product-title"><a href="{$id | url}">{$pagetitle}</a></h2>
<p class="product-price">
{if $old_price?}
<span class="old_price">{$old_price} {'ms2_frontend_currency' | lexicon}</span>
{/if}
{$price} {'ms2_frontend_currency' | lexicon}
</p>
</div>
<div class="product-bottom-action">
<div class="product-action">
<div class="action-button">
<button class="btn"type="submit" name="ms2_action" value="cart/add"><i class="fa fa-shopping-cart"></i> <span>В корзину</span></button>
</div>
<div class="action-view">
<button type="button" class="btn" data-toggle="modal" data-target="#productModal"><i class="fa fa-search"></i>Quick view</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
выводится 120х90, а нужно, чтобы изображения были 260х328
ну, тут можно сделать двумя способами:
1. В настройках минишопа указать, что дефолтная картинка 260х328
2. Вместе $thumb использовать $260x328
1. В настройках минишопа указать, что дефолтная картинка 260х328
2. Вместе $thumb использовать $260x328
1 — не работает менял
2 — подставил вообще ничего не вывелось
2 — подставил вообще ничего не вывелось
А в первом случае преью пересоздал?
Нужно указать размер — 260х328 в настройках минишопа, там есть размер превью для плейсхолдера $thumb, и в настройках источника файлов. После нужно обновить все превью чтобы нужный размер создался.
ну, я о том же и толкую)
в настройках поставил размер плейсхолдера
в чанке msGallery тоже изменил размер и все ровно не выводит
в чанке msGallery тоже изменил размер и все ровно не выводит
Медиа — Источники файлов — MS2 Images — thumbnails
[{"w":120,"h":90,"q":90,"zc":"1","bg":"000000"},
{"w":260,"h":328,"q":90,"zc":"1","bg":"000000"}]
все ровно маленькие «w»:120,«h»:90
Пересборка тумбов.
Просто создать любой qwerty.php файл в корне сайта и запустить из браузера.
Просто создать любой qwerty.php файл в корне сайта и запустить из браузера.
<?php
define('MODX_API_MODE', true);
require 'index.php'; // Если файл лежит не в корне - здесь нужно указать верный путь
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
if (!isset($parents)) {$parents = 0;} // Можно указать список категорий для поиска товаров
if (!isset($resources)) {$resources = '';} // Можно указать конкретный список товаров
$pdo = $modx->getService('pdoFetch');
$condition = array('parents' => $parents);
$files = $pdo->getCollection('msProduct',
array(
'msProduct.class_key' => 'msProduct',
),
array(
'class' => 'msProduct',
'parents' => $parents,
'resources' => $resources,
'innerJoin' => array(
'msProductFile' => array(
'alias' => 'msProductFile',
'on' => array(
'msProduct.id = msProductFile.product_id',
'msProductFile.parent' => 0,
'msProductFile.type' => 'image',
)
)
),
'select' => array(
'msProductFile' => 'all'
),
'sortby' => 'msProduct.id'
)
);
echo '<pre>';
echo $pdo->getTime();
foreach ($files as $row) {
$file = $modx->newObject('msProductFile');
$file->fromArray($row, '', true, true);
$children = $file->getMany('Children');
foreach ($children as $child) {
$child->remove();
}
$file->generateThumbnails();
// Обновляем thumb и image товара
if ($product = $file->getOne('Product')) {
$product->updateProductImage();
}
}
echo microtime(true) - $modx->startTime;
Такой скрипт нужно запускать из консоли.
И сразу получить еще кучу вопросов :)
Требую еще больше минусов!!!
Ставьте, не стесняйтесь!
Это меня будет очень стимулировать.
Ставьте, не стесняйтесь!
Это меня будет очень стимулировать.
спасибо работает
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.