Вывод товаров на главной страницы

Всем привет, не могу сделать вывод новых товаров на главной страницы

вот вывод на страницы категории и все работает:

[[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]] и не работает
Максим
01 октября 2016, 13:30
modx.pro
1
1 550
0

Комментарии: 15

Дмитрий
01 октября 2016, 16:58
+1
Только что проверил, да, не работает.
Но если указать &parents=`id категории с товарами`, то работает.
    Максим
    01 октября 2016, 17:13
    0
    да, я с этим разобрался, а не подскажите, почему-то изображение выводится маленькое
    вот чанк
    <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
      Дмитрий
      01 октября 2016, 17:31
      0
      ну, тут можно сделать двумя способами:
      1. В настройках минишопа указать, что дефолтная картинка 260х328
      2. Вместе $thumb использовать $260x328
        Максим
        01 октября 2016, 17:39
        0
        1 — не работает менял
        2 — подставил вообще ничего не вывелось
          Дмитрий
          01 октября 2016, 17:47
          0
          А в первом случае преью пересоздал?
            Андрей
            01 октября 2016, 17:58
            0
            Нужно указать размер — 260х328 в настройках минишопа, там есть размер превью для плейсхолдера $thumb, и в настройках источника файлов. После нужно обновить все превью чтобы нужный размер создался.
              Дмитрий
              01 октября 2016, 18:36
              0
              ну, я о том же и толкую)
                Максим
                01 октября 2016, 23:45
                0
                в настройках поставил размер плейсхолдера
                в чанке msGallery тоже изменил размер и все ровно не выводит
                  Антон
                  02 октября 2016, 01:55
                  +1
                  Медиа — Источники файлов — MS2 Images — thumbnails
                  [{"w":120,"h":90,"q":90,"zc":"1","bg":"000000"},
                  {"w":260,"h":328,"q":90,"zc":"1","bg":"000000"}]
                    Максим
                    02 октября 2016, 02:19
                    0
                    все ровно маленькие «w»:120,«h»:90
                      Антон
                      02 октября 2016, 03:02
                      2
                      +2
                      Пересборка тумбов.
                      Просто создать любой 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;
                        Роман Садоян
                        02 октября 2016, 13:14
                        +2
                        Такой скрипт нужно запускать из консоли.
                          Антон
                          02 октября 2016, 13:51
                          +1
                          И сразу получить еще кучу вопросов :)
                          Антон
                          02 октября 2016, 20:34
                          +1
                          Требую еще больше минусов!!!
                          Ставьте, не стесняйтесь!
                          Это меня будет очень стимулировать.
                          Максим
                          02 октября 2016, 23:48
                          0
                          спасибо работает
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      15