Категория это объект \Catalog\Model\Orm\Dir. У него есть поле itemcount.
Соответственно в Вашем блок контроллере можно получить данное поле так:

{$dir.fields.itemcount} {* Выводит в шаблоне количество товаров в категории *}

Посмореть все поля категории с их значениями можно так:

<pre>
{var_dump($dir.fields)}
</pre>

2,402

(14 ответов, оставленных в Вопросы по работе с системой)

Спасибо. в тот раз помогло. Сейчас новая проблема - сайт работает нормально, но не могу войти в админ панель - выдает ошибку
Fatal error: Namespace declaration statement has to be the very first statement in the script in /var/www/hk1333/data/www/xn----7sbabkcjwjawdptsdmv9j.xn--p1ai/modules/main/controller/admin/index.inc.php on line 17

Это говорит о том, что у вас перед записью namespace записана какая-то команда. Этого быть не должно, т.к. эта команда должна стоять первой. Предполагаю, что у Вас вирус на хостинге поразил файл, либо редактировали файл в редакторе windows и сохранили неправильно файл. Но скорее всего первое. Напишите нам на support@readyscript.ru доступы к FTP и в админку. Мы постараемся разобраться.

2,403

(6 ответов, оставленных в Вопросы по работе с системой)

Верно. Не за что.

2,404

(7 ответов, оставленных в Вопросы по созданию тем оформления)

Да. Но это на крайний случай wink

2,405

(6 ответов, оставленных в Вопросы по работе с системой)

Всё правильно.
Этот код:

<pre>
{var_dump($maindir)} {* Выводим объект нашего товара*}
</pre>

выводит весь объект категории, для того, чтобы Вы могли посмотреть, что содержит объект который Вы получаете.
Соответственно если Вам нужно получить название категории, то его можно вывести так:

{$maindir.name}

2,406

(7 ответов, оставленных в Вопросы по созданию тем оформления)

Здравствуйте
Вам надо добавить запись в layout.tpl Вашей темы оформления.

{$app->setAnyHeadData('Ваш необходимый код')|devnull}

2,407

(6 ответов, оставленных в Вопросы по работе с системой)

Товар является объектом \Catalog\Model\Orm\Dir, а значит ему доступны все методы класса Dir в файле /modules/catalog/model/orm/dir.inc.php

Вам нужен метод getMainDir()

{$maindir=$product->getMainDir()} {*Получаем категорию товара*}
<pre>
{var_dump($maindir)} {* Выводим объект нашего товара*}
</pre>

2,408

(2 ответов, оставленных в Предложения по улучшению системы)

Здравствуйте. Мы не выпускали обновление связанное с данной вещью, т.к. ещё не придумали правильную не ресурсоёмкую организацию решения данной проблемы. Там не всё так просто, т.к. Ваш код не все ситуации затрагивает. Мы выпустим обновление в будущем, но пока так.
Вы можете выложить на форуме решение и временно положить файл и изменения в тоже название и в той же категории. Только на конце не .inc.php, а сделать .my.inc.php

2,409

(14 ответов, оставленных в Вопросы по работе с системой)

я разобрался в чём дело. Благо отрыл доступы.
Так вот у Вас в разделе Управление->Сайты, Ваш сайт не был установлен как сайт по умолчанию и поэтому внутреннее содержимое не определялось. Ведь этот сайт у Вас один с одним доменом.
Я выставил флаг сайта по умолчанию и всё заработало.

2,410

(14 ответов, оставленных в Вопросы по работе с системой)

Ещё можно пройти данный курс
Создание собственной темы оформления
чтобы разбираться в шаблонах

2,411

(14 ответов, оставленных в Вопросы по работе с системой)

Веб-сайт->Настройка сайта->Поле Тема
Рекомендую
Руководство пользователя
и
Руководство для разработчиков

2,412

(14 ответов, оставленных в Вопросы по работе с системой)

Всё правильно у Вас в шаблонах.
Посмотрев исходный код страницы, я заметил, что у вас подключаются шаблоны из темы классической(default). У вас насколько я помню тема оформления другая. Это говорит о том, что вы переключились  на классическую тему и где там внутри закрыли вывод.
Переключитесь на Вашу тему оформления и всё должно заработать.

2,413

(14 ответов, оставленных в Вопросы по работе с системой)

index.tpl расширяется от body.tpl
Что у вас в Body.tpl?

2,414

(14 ответов, оставленных в Вопросы по работе с системой)

Забыл сказать

{$app->blocks->renderLayout()}

Должен быть в layout.tpl

2,415

(14 ответов, оставленных в Вопросы по работе с системой)

Может быть всё, что угодно, нужно смотреть более детельно. Но вероятнее всего удалили специальную конструкцию для вывода информации( {$app->blocks->renderLayout()} ), либо удалили или указали пустой шаблон главной странице.
Что у Вас содержит layout.tpl и шаблон отвечающий за главную страницу?
Также проверьте в Веб-сайт->Конструктор сайта какой шаблон назначен для главной страницы?

2,416

(3 ответов, оставленных в Вопросы по работе с системой)

Не за что)

2,417

(3 ответов, оставленных в Вопросы по работе с системой)

Веб-сайт -> Уведомления

2,418

(3 ответов, оставленных в Вопросы по работе с системой)

Как вносить изменения в стандартные шаблоны, стили, чтобы изменения сохранялись после обновления системы?

2,419

(18 ответов, оставленных в Вопросы по работе с системой)

Отлично.
Для проверки цены, нужно в условиях проверок в методе getCost указывать третий аргумент в false, т.к. он отвечает за форматирование цены в строку с пробелом с тысячных(10 000) в виде строки. Если третий аргумент в false, то будет 10000 именно как число. А то будет конфуз.
Например.

{$product->getCost('Зачеркнутая цена', $key, false)}

Подробнее описание можно почитать в классе комплектации "Offer" в файле /modules/catalog/model/orm/offer.inc.php и там найти функцию getCost.

Что касается js, то можно так проверить.

$.each(list, function(selector, cost) { //Перебор объекта в data-change-cost 
   if (selector=='.lastPrice'){
          if (cost=="0"){ //Если цена равна 0
               $(selector, context).text('');
          }else{
               $(selector, context).text(cost);
          }
   }else{
          $(selector, context).text(cost);
   } 
   
});

2,420

(18 ответов, оставленных в Вопросы по работе с системой)

Отпишитесь о результате в конце пожалуйста

2,421

(18 ответов, оставленных в Вопросы по работе с системой)

Прошу прощения, немного не правильно подсказал.
Вообщем, зачёркнутую цену в шаблоне нужно оставить без условия.

data-change-cost='{ 
                                        ".offerBarcode": "{$offer.barcode|default:$product.barcode}",
                                        ".myCost": "{$product->getCost(null, $key)}",
                                        ".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"
                                    }' 

Как и было раньше. Тогда у нас в зачёркнутую цену будет идти 0 (ноль).
А вот в самой js (jquery.changeoffer.js) сделать проверку на "0" (ноль).
Там где :

//Сменим артикул и цену
$.each(list, function(selector, cost) { 
    $(selector, context).text(cost);
});

Сменим на:
//Сменим артикул и цену

$.each(list, function(selector, cost) { 
    if (cost){ //Если цена больше нуля
       $(selector, context).text(cost);
   }else{
       $(selector, context).text('');
   }
});

2,422

(6 ответов, оставленных в Вопросы по работе с системой)

Ольга пишет:

А что изменяется в темах при обновлении? Номера тоже увеличиваются.

Там в основном подправляют мелкие ошибки, но бывает, что исправления например касаются отображения или действия функцию на мобильной версии при адаптации.

2,423

(18 ответов, оставленных в Вопросы по работе с системой)

Дело вот в чём. Предполагается, что если вы предоставляете скидку на товар, то она распространяется на все его комплектации. Поэтому мы возвращаем зачёркнутую цену соответственно правилу в комплектации.
У Вас стоит в комплектации для зачёркнутой цена равна "+" 0(пустое поле - тоже ноль) рублей от зачёркнутой цены базовой комплектации.
Соответственно, если мы хотим, чтобы в зачёркнутой цене не было значения (0), то надо поменять знак с "+" на "=", тогда в зачёркнутую цену пойдёт 0, т.к. поле со значением в комплектации пустое, а уже в шаблоне можно проверить на равность нулю.
Строки:

data-change-cost='{ 
                                        ".offerBarcode": "{$offer.barcode|default:$product.barcode}",
                                        ".myCost": "{$product->getCost(null, $key)}",
                                        ".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"
                                    }' 

Эти строки подхватывает javascript обработчик, который перебором из данного объекта выставляет значение элементам по классу (вы можете детально посмотреть это в файле jquery.changeoffer.js в свой теме оформления). Мы знаем, что в Зачёркнутую цену пойдёт 0, поэтому на него и проверим.

{$lastprice=$product->getCost('Зачеркнутая цена', $key)}
data-change-cost='{ 
                                        ".offerBarcode": "{$offer.barcode|default:$product.barcode}",
                                        ".myCost": "{$product->getCost(null, $key)}",
                                        {if $lastprice}
                                            ".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"
                                        {/if}
                                    }' 

И еще, как сделать чтобы в блоке Акция выводилась всегда цена со скидкой, а не цена первой комплектации.

Насколько я понял Вам надо чтобы вы у одной из комплектации товара Вы выставили цену и после этого в акциях у Вас должна отображаться, только та цена у которой есть зачёркнутая.
Если так, Вам надо тогда в шаблончике перебрать комплектации. Сделать это можно как и в случае с карточкой товара, где идёт перебор.

{if $product->isOffersUse()} {*Проверяем есть ли комплектации и одновременно загружаем их*}
    {foreach from=$product.offers.items key=key item=offer name=offers} {* Перебираем их *}
          {$lastprice=$product->getCost('Зачеркнутая цена', $key)} {*Получаем зачёркнутую цену для нужной комплектации*}
          {if $lastprice} {*Если зачёркнутая цена существует и она больше нуля*}
              {$product->getCost(null, $key)} {*Выводим базовую цену нужной комплектации*}
          {/if}   
    {/foreach}  
{/if}

2,424

(6 ответов, оставленных в Вопросы по работе с системой)

У нас когда кнопка горит, что есть обновления и вы её нажимаете, то осуществляется переход на страницу с обновлениями. На этой странице справа напротив каждого модуля, есть ссылка "Подробнее". Если её нажать, то можно увидеть какие именно были сделаны изменения.  Вас точно интересует именно 15.06.2015? Или всё же 15.07.2015?

Не за что)