Нет, не будут. Пробелы вначале и в конце убираются специально. По другому пока никак.
2,376 22.05.2015 16:29:35
Re: Возможно ли как-то победить неправильную сортировку комплектаций (12 ответов, оставленных в Вопросы по работе с системой)
2,377 22.05.2015 16:27:55
Re: Как клонировать класс "БРЕНДЫ"? (2 ответов, оставленных в Вопросы по разработке модулей и API системы)
Во первых надо включить отображение ошибок на период разработки:
Включение отображения ошибок
Все файлы и классы в системе обладают своим namespace в самом начале файла. Если вы укажите свой namespace то они не пересекутся. Т.е. для своей папки используется свой уникальный namespace.
В формате:
Папка модуля\путь к файлу
Также там прописаны маршруты обрабатываемых страниц для брендов. Они находятся в файле handlers.inc.php в методе getRoute. Их надо либо убрать, либо заменить на свои.
Документацию по маршрутам можно взять здесь:
Маршруты в ReadyScript
Следующий шаг. Нужно классы, которые отвечают за ORM объекты(записи в БД) изменить таким образом, чтобы они использовали другие таблицы, чтобы они не пересекались. Они находятся в папках /modules/НУЖНЫЙ МОДУЛЬ/model/orm/.
Например в объекте брендов это будет строка:
protected static
$table = 'brand'; //Имя таблицы в БДВот описание ORM объектов в системе.
А вот, то что я приводил на форуме по полям ORM объектов.
Описание по полям
Если останутся вопросы, то говорите.
2,378 22.05.2015 12:10:42
Re: Возможно ли как-то победить неправильную сортировку комплектаций (12 ответов, оставленных в Вопросы по работе с системой)
Ну вообще сортировка становится в таком порядке в котором её отдала 1Ска. Можно например у этого товара переставить комплектации в админке и всё будет нормально. Но для одного товара это понятно.
Если у вас пачка товаров, то лучше выгрузить в CSV. Задать им порядок(индекс сортировки) и загрузить обратно.
Обратите внимание, что у каждого товара есть и должна быть 0(нулевая) комплектация. Она отвечает за сам товар.
Остальные комплектации идут на увеличение.
Т.е. для одного товара должно быть
0 комплектация
1 комплектация
и т.д.
2,379 19.05.2015 19:12:33
Re: Отображение комплектаций в списке товаров (14 ответов, оставленных в Вопросы по работе с системой)
Не за что.
Надеюсь, Вам это пригодится.
2,380 19.05.2015 13:35:50
Re: Подскажите как реализовать (4 ответов, оставленных в Вопросы по работе с системой)
Попробовал, работает, класс добавляется. Вопрос в следующем, а как сделать условие, если не больше нуля, а равно нулю? Если я добавляю вот так, то не работает.
{if $product.num=0} мой класс {/if}
Всё правильно. В php =(равно) является равно. Т.е. вы присвоили 0. Если Вам надо проверить на ноль, то нужно писать двойное равно(==):
{if $product.num==0}
мой класс
{/if}2,381 19.05.2015 11:56:03
Re: Подскажите как реализовать (4 ответов, оставленных в Вопросы по работе с системой)
Всё просто.
Если вы посмотрите в файл /modules/catalog/model/orm/product.inc.php
То там есть описание полей класса \Catalog\Model\Orm\Product, который является объектом товара.
Общее количество товара хранится в поле num. Т.е. нам нужно просто проверить положительное значение этого поля.
{if $product.num>0}
//Ваш класс
{/if}Пробуйте.
2,382 18.05.2015 20:10:13
Re: Отображение комплектаций в списке товаров (14 ответов, оставленных в Вопросы по работе с системой)
Подскажите, пожалуйста, а как быть с многомерными комплектациями?
Пробовал по аналогии с кодом из файла product.tpl, вывод по var_dump показал, что у $product нет multioffers.
Многомерные комплектации используются, в корзине выбор есть, в карточке товара аналогично.p.s. Подсмотрел в контроллере: $product->fillMultiOffers()
Вы всё верно подсмотрели. Дело в том, что мы не подгружаем к товару многомерки сразу, т.к. они не требуются в списке, а нужны лишь на странице товара.
Для того, чтобы подгрузить к одному товару многомерки используется конструкция
{$product->fillMultiOffers()}После этого к товару будут дописаны многомерки если они есть и проверить это можно так:
{if $product->isMultiOffersUse()}
//Многомерки используются
{else}
//Иначе
{/if}После того как добавятся многомерки, то они будут ключе массива объекта \Catalog\Model\Orm\Product. А именно в
<pre>
{var_dump($product.multioffers)}
</pre>Т.е. перебрать многомерки можно как в карточке товара
{foreach $product.multioffers.levels as $level}
{/foreach}Следующим шагом, нужно добавить информацию о комплектациях, которые соответствуют одной из выбранных многомерных комплектаций.
{if $product->isOffersUse()}
{foreach from=$product.offers.items key=key item=offer name=offers}
<input value="{$key}" type="hidden" name="hidden_offers" class="hidden_offers" {if $smarty.foreach.offers.first}checked{/if} id="offer_{$key}" data-info='{$offer->getPropertiesJson()}' {if $check_quantity}data-num="{$offer.num}"{/if} {if $catalog_config.use_offer_unit}data-unit="{$offer->getUnit()->stitle}"{/if} data-change-cost='{ ".offerBarcode": "{$offer.barcode|default:$product.barcode}", ".myCost": "{$product->getCost(null, $key)}", ".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"}' data-images='{$offer->getPhotosJson()}' data-sticks='{$offer->getStickJson()}'/>
{/foreach}
<input type="hidden" name="offer" value="0"/>
{/if}Соответственно нужно обеспечить выбор нужной комплектации которая соответствует выбраной многомерной комплектации. Если посмотреть на input'ы, то там видно, что подгружаются сведения о многомерках в data-info.
Т.е. нужно javascript.
Посмотреть как взять нужную комплектацию можно в /templates/ВАША ТЕМА/resourse/js/jquery.changeoffer.js, в методе changeMultiOffer.
Для javascript просмотра используйте firebug и console.log(переменная);
В этом методе смотрится, что выбрана многомерка, смотрится соотвествие комплектациям, и если такая есть, то в input с name="offer" ставится нужная комплектация.
При нажатии на кнопку купить. Скрипт смотрит что у нас находится в этом input в рамках контейнера который обёрнут с data-id="id товара", как приведено выше.
По идее, Вам надо просто добавить скрипт jquery.changeoffer.js на эту страницу и он сам поймёт всю структуру. И при смене многомерки будет выбиратся нужная комплектация. Главное чтобы была обёртка с data-id (как было описано в предыдущем посте).
Есть ещё другой момент. Вы работаете со списком товаров, а каждый раз подгружать многомерки накладно. Поэтому вместо:
{$product->fillMultiOffers()}Вам нужно использовать конструкцию
{$list=$this_controller->api->addProductsMultiOffers($list)}Подробнее данный метод можно посмотреть в файле /modules/catalog/model/api.inc.php. Данный метод позволит подгрузить многомерки сразу многим товарам.
Пробуйте.
2,383 14.05.2015 11:55:51
Re: Баги (9 ответов, оставленных в Предложения по улучшению системы)
Так же не совсем понятно как именно работает подсчет остатков в таблицах - при просмотре категории в админке.
Поясните пожалуйста, что конкретнее Вам пояснить? Ато не совсем понятен вопрос.
2,384 13.05.2015 11:33:25
Re: Товар со скидкой (16 ответов, оставленных в Вопросы по работе с системой)
Дело в том, что Вы можете добавлять сколько угодно цен в систему но, в шаблоне прописано отображение, только основной цены и зачеркнутой. Если надо больше, то можно и больше в шаблонах прописать. Вот и всё.
Прописывается это всё помощью такой конструкции.
{$product->getCost()}и
{$product->getCost('Зачеркнутая цена')}Т.е.
{$product->getCost('Название нужной цены')}2,385 12.05.2015 11:45:49
Re: Баг - течет js (4 ответов, оставленных в Предложения по улучшению системы)
Мы обязательно проверим работу js на страницах редактирования товаров, если проблема будет найдена, она обязательно будет решена в следущих версиях.
2,386 06.05.2015 11:49:14
Re: Отображение комплектаций в списке товаров (14 ответов, оставленных в Вопросы по работе с системой)
Единственное, не появляется значение $offer.title в случаях если у меня 1 вариант комплектации. Если их 2 и больше, то все выводиться нормально.
Если у товара 1 комплектация, то она не выводится, т.к. это и есть сам товар.
Вам надо поставить проверку на наличие комплектаций(Если больше двух). Сделать это просто:
{if $product->isOffersUse()}
//Если есть комплектации и их больше 1
{else}
//Иначе просто сам товар.
{/if}Насчёт цены для комплектаций, то вы верно подсмотрели решение. В вашем случае нужна конструкция:
{$product->getCost('Имя цены или null','номер комплектации начиная от 0')}
{*Например*}
{$product->getCost(null,2)} {*Получение цены основной для третьей комплектации*}2,387 05.05.2015 19:43:28
Re: Отображение комплектаций в списке товаров (14 ответов, оставленных в Вопросы по работе с системой)
Всё просто.
Цену можно получить в шаблоне следующей конструкцией:
{$product->getCost('Имя цены или ничего')}Если имя цены не указано, то возвращается значение цены по умолчанию.
Для вашего случая цену можно вывести так:
{*Цена по умолчанию*}
{$product->getCost()}
{*Цена зачеркнутая*}
{$product->getCost('Зачеркнутая цена')}Т.к. {$product} является объектом \Catalog\Model\Orm\Product, то Вам будут доступны все фунукции класса Product в файле /modules/catalog/model/orm/product.inc.php
Пробуйте и отпишитесь ![]()
2,388 05.05.2015 16:18:54
Re: Проблема с категориями 3-го уровня (9 ответов, оставленных в Вопросы по работе с системой)
Есть также вопрос в тему. Может быть ввести для таких целей поле в настройках категории.
Категория
Подкатегория1
Бренд1
Бренд2
Хотелось бы видеть когда заходишь в Категория->Подкатегория->Бренд1 в теге H1 видеть "Подкатегория1 Бренд1", а не "Бренд1". Либо в некоторых случаях вообще самому прописать. Если бы было такое поле, его например можно было бы использовать и при выводе брендов. Тогда и там бы мы видели "Подкатегория1 Бренд1 ()", "Подкатегория2 Бренд1 ()" ..., а не "Бренд1 ()", "Бренд1 ()", "Бренд1 ()" ...Вы можете поправить шаблон и сделать так как Вам угодно.
2,389 05.05.2015 16:02:09
Re: Проблема с категориями 3-го уровня (9 ответов, оставленных в Вопросы по работе с системой)
Можно расширить программно объект категории и добавить ей поле - "короткое название". В шаблоне проверять если есть короткое название, то выводить его, ну или наоборот.
2,390 05.05.2015 16:00:53
Re: Проблема с категориями 3-го уровня (9 ответов, оставленных в Вопросы по работе с системой)
Ну без программирования никак. Всё что вы можете сейчас это отсортировать категории в админке. И тогда в верхнем меню они изменят своё положение. У Вас частное решение, оно требует правок.
2,391 05.05.2015 15:27:04
Re: Проблема с категориями 3-го уровня (9 ответов, оставленных в Вопросы по работе с системой)
Сортировка брендов и товаров по брендам это скорее частное решение. чем общее, поэтому в общий функционал оно не войдёт. И не совсем понятен конкретный результат который вы хотите получить. Нужно больше информации.
Таким образом, данную вещь нужно Вам программно дорабатывать под себя.
Что касается того, что у Вас выводится BTL не сколько раз, то всё верно. В данном шаблоне выводятся категории, в которых лежат Ваши товары данного бренда. Видимо они называются "BTL" все. Вам нужно наверно либо программно в шаблоне подгружать к названию категории ещё название её родителя беря название родителя. Либо что на мой взгляд будет более правильно переименовать "BTL" категории в более подробные. Например "Станки BTL".
2,392 05.05.2015 15:22:38
Re: Сравнение товаров (8 ответов, оставленных в Вопросы по работе с системой)
Ну тогда Вам надо править шаблон и выводить описание. Закажите программистам доработку или нам в платную поддержку обратитесь. http://helpdesk.readyscript.ru
2,393 05.05.2015 15:17:35
Re: Сравнение товаров (8 ответов, оставленных в Вопросы по работе с системой)
Надо
По другому никак) Либо придумайте проще характеристики. Подсмотрите у конкурентов.
2,394 05.05.2015 15:07:46
Re: Сравнение товаров (8 ответов, оставленных в Вопросы по работе с системой)
А как же нестандартные товары, где характеристики вообщем описательного характера?
Не получится сравнить программно два текста корректно. Это у меет, только человеческий глаз и мозг.
И что означают характеристики описательного характера?
2,395 05.05.2015 15:06:32
Re: Сравнение товаров (8 ответов, оставленных в Вопросы по работе с системой)
Временные GET , для меня это сложно, я не программист, хотелось бы иметь стандартно функцию печати карточки товара, чтоб у клиента был рекламный буклет, описание товара с картинкой, названием сайта, организация и телефон
Напишите пожелание в http://helpdesk.readyscript.ru
2,396 05.05.2015 14:43:42
Re: Сравнение товаров (8 ответов, оставленных в Вопросы по работе с системой)
В шаблоне страницы сравнения, вверху выводятся по колонкам товары для сравнения. Вверху колонки картинка и название товара, ниже характеристики товара. Если характеристики не выводится, то значит их нет у данных товаров. Вывод описания в данном шаблоне не предусмотрен, т.к. он служит для сравнения характеристик товара, а не текста описания и другим текстом.
Что касается вывода на печать, то пока такой функции нет. Вы можете добавить такую кнопку и в шаблоне проверять приходящую из GET переменную скажем "print=1". И если она указана, то в if идти по другой ветке генерации шаблона.
2,397 05.05.2015 11:58:22
Re: Последовательность вывода характеристик (3 ответов, оставленных в Вопросы по работе с системой)
Отлично!
2,398 04.05.2015 17:25:49
Re: Валюты: Получить курс ЦБ РФ (7 ответов, оставленных в Вопросы по работе с системой)
Для закупочных цен. Применяется своя цена из "Справочника цен". А цена может быть в любой валюте.
2,399 04.05.2015 13:53:59
Re: Валюты: Получить курс ЦБ РФ (7 ответов, оставленных в Вопросы по работе с системой)
Не за что.
Дело в том, что курс считается по формуле:
Базовая валюта (умножить на) курс ЦБ = курс
Надо будет добавить, чтобы была проверка установки только одной базовой валюты.
2,400 04.05.2015 13:41:33
Re: Валюты: Получить курс ЦБ РФ (7 ответов, оставленных в Вопросы по работе с системой)
У вас стоит 3 базовых валюты. А базовая должна быть одна. Оставьте базовую одну валюту.