[[!smarty?tpl=`shop/catalog/list.tpl`]]
Нет ли такой инструкции по выводу каталога товаров, на пример?
На данном этапе получилось вывести товары на страницу, но почему то только НОВИНКИ
Смотрите какой процессор вызывается. web/catalog/products/getdata — это товары получает. web/catalog/products/hot/getdata — только новинки.
{processor action="web/catalog/category/products/getdata" ns="modxsite" assign=result}
{block name=content} {processor action="web/category/catalog/products/getdata" ns="modxsite" assign=result} {* Набиваем через единый шаблон листинга *} {include file="shop/catalog/list/fetch.tpl"} {/block}
{block name=content} {processor action="web/catalog/products/getdata" ns="modxsite" assign=result} {* Набиваем через единый шаблон листинга *} {include file="shop/catalog/list/fetch.tpl"} {/block}
меня смутила в видео фраза — При установке пакета могут быть ошибки, но это нормально…
<div class="col-md-{12/$cols}"> <div class="row"> <div class="col-md-4"> {* Здесь нам не приходится проверять фото на наличие, так как это выполняется на уровне процессора. *} <a href="{$image}"> <img src="{$src}" title="{$object.pagetitle|@escape}" align="left" class="img-responsive"/> </a> </div> <div class="col-md-8"> {$smarty.block.parent} </div> </div> </div>
{$smarty.block.parent}
{$params = [ "parent" => 163, "limit" => 4 ]}
где подсмотреть полный набор возможных параметров
и как вывести определенный документ
{$params = [ 'where'=>['id'=>444], 'current'=>1 ]
{block name=shipping} {$params = [ "where" => ["id" => 169], "current" => 1 ]} {processor action="web/resources/getdata" ns=modxsite params=$params assign=result} <span class="title1" id="anchor4">{$result.pagetitle}</span> <div class="box_descript"> <span class="title">{$result.longtitle}</span> {$result.content} </div> {/block}
$result.object.pagetitle
{* Здесь нам не приходится проверять фото на наличие, так как это выполняется на уровне процессора. *}
{if $image}
Почему и зачем, здесь только картинка, а все остальное берется из {$smarty.block.parent} и откуда это берется что то совсем здесь не понятно?!
/* шаблон t1.tpl*/ {block name=some_block} <p>Я родительский блок</p> {/block}/* шаблон t2.tpl, расширяющий шаблон t1.tpl*/ {extends "t1.tpl"} {block name=some_block} <p>А вот здесь будет выводиться содержимое родительского шаблона</p> {$smarty.block.parent} <p>Конец шаблона t2.tpl</p> {/block}
<p>А вот здесь будет выводиться содержимое родительского шаблона</p> <p>Я родительский блок</p> <p>Конец шаблона t2.tpl</p>
где подсмотреть полный набор возможных параметров
туплю $result.object.pagetitle так работает
{$image = $object.image} {$thumb = $modx->runSnippet('phpThumbOf', [ "input" => $image, "options" => "&far=0&w=230&h=140" ])} <img src="{$thumb}" />
{processor action="web/getdata" ns=modxsite assign=result} {include "common/pagination/pagination.tpl"}
{processor action="web/getdata" ns=modxsite assign=my_array} {include "common/pagination/pagination.tpl" result=$my_array}
'page'=>$smarty.get.page
if($b=(int)$this->getProperty('brand')){ $c->innerJoin('modTemplateVarResource', 'brand', "brand.contentid = {$this->classKey}.id AND brand.tmplvarid = 13 AND brand.value={$brand}"); }
...AND brand.value={$brand}"
...AND brand.value={$b}"
<form action="" method="post"> <input type="hidden" name="product_id" value="{$object.product_id}"/> <input type="hidden" name="action" value="add_product"/> <input type="hidden" name="quantity" value="1" /> <span class="goods_item_title">{$object.pagetitle}</span> <span class="goods_item_price">{$object.sm_price|number_format:0:".":" "} <span>руб.</span></span> <button class="goods_item_button btn btn-success" type="submit">ЗАКАЗАТЬ!</button> </form>
test.ru/assets/components/basket/connectors/connector.php?action=products/add&product_id=20&quantity=1
test.ru/?action=add_product&product_id=16&quantity=1
<div data-smodx-productcls="listproduct"></div>
'where'=>['Product.sm_price:>'>=4000,'and:Product.sm_price:<'=>7000]
'where' => ["Product.sm_price between 4000 and 7000"]
атрибуты class и data-shopmodx
{block menu_params} {$params = [ "parentRowTpl" => '@CODE <li[[+wf.id]] class="dropdown"> <a href="[[+wf.link]]" title="[[+wf.title]]" [[+wf.attributes]] class="dropdown-toggle">[[+wf.linktext]] <span class="caret"></span></a> [[+wf.wrapper]] </li>', "rowTpl" =>'@CODE <li class="dropdown"> <a href="[[+wf.link]]" title="[[+wf.title]]" [[+wf.attributes]]>[[+wf.linktext]]</a> </li>', "outerClass" => 'nav navbar-nav', "innerClass" => 'dropdown-menu' ]} {/block}
.dropdown:hover > .dropdown-menu { display: block; }
{extends "[main]layout.tpl"} {block name=head} <head> {block name=meta} {* Заголовок специально в блок загнан, чтобы в разных шаблонах его можно было бы переопределить *} <title>{block name="title"}{$modx->resource->longtitle|default:$modx->resource->pagetitle} | {$site_name}{/block}</title> {snippet name="MetaX@MetaX"} {/block} {block name=bootstrap} {block name=bootstrap_meta} <meta name="viewport" content="width=device-width, initial-scale=1.0"> {/block} <!-- Latest compiled and minified CSS --> {block name=bootstrap_theme append} <link href="{$pre_template_url}css/bootstrap.min.css" rel="stylesheet"> {/block} {/block} {block name=shopmodx_scripts} {/block} {block name=fonts} {* fonts *} <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400,300&subset=latin,cyrillic' rel='stylesheet' type='text/css'> {* eof fonts *} {/block} {block name=style append} <link href="{$pre_template_url}css/styles.css" rel="stylesheet"> <link rel="stylesheet" href="{$pre_template_url}css/responsive.css"> {/block} {block name=headers}{/block} </head> {/block}