Отключения их не существует. Они нужны для выбора метода доставки, а также для расчёта доставки. Как Вы доставку то будете рассчитывать? Нужно же на что-то опираться.
Скрыть поля можно в шаблоне просто проставив блоку display:none. Но значения там должны хоть какие-то быть. Как вы вообще видите регистрацию на сайте?
2,151 01.10.2015 18:37:46
Re: Регистрация пользователя - как скрыть поля "область" и "страна" (7 ответов, оставленных в Вопросы по созданию тем оформления)
2,152 29.09.2015 17:15:31
Re: Где можно изменить цвет текста "МОЯ КОРЗИНА" (3 ответов, оставленных в Вопросы по созданию тем оформления)
Ответ в другом Вашем обращении.
2,153 29.09.2015 17:10:48
Re: Где можно подправить мобильную версию? (4 ответов, оставленных в Вопросы по созданию тем оформления)
Для просмотра в мобильной версии в FireFox есть свой инструмент. Нажмите Alt появится панель с кнопками вверху браузера. Там будет Инструменты -> Веб-разработка -> Адаптивный дизайн. После чего уменьшаем до требуемого размера.
Если у Вас установлен FireBug в firefox, то вы можете нажать правой кнопкой мыши и вызвать контекстное меню, где как раз будет пункт. Проинспектировать элемент с помощью FireBug. Откроется панель, где Вы можете все элементы проинспектировать и справа будет и название стиля и его содержимое.
2,154 29.09.2015 11:45:32
Re: Где можно подправить мобильную версию? (4 ответов, оставленных в Вопросы по созданию тем оформления)
Вы можете посмотреть в FireBug в firefox или в консоли хрома какой стиль установлен в мобильной версии. Файлы стилей для мобильных версий расположены в resouce/css/960gs
2,155 29.09.2015 11:42:54
Re: Где можно изменить цвет текста "МОЯ КОРЗИНА" (3 ответов, оставленных в Вопросы по созданию тем оформления)
В файле со стилями. В /templates/Ваша тема/resourse/css/style.css
2,156 28.09.2015 11:57:13
Re: Не работает админка (10 ответов, оставленных в Вопросы по работе с системой)
Всё достаточно просто. Это не вирусы. Сейчас хостинги начинают массово ставить себе по видимому антивирусники или фаерволы.
Эти файлы содержат файлы с зашифрованной информацией и поэтому ошибочно принимаются за вирусы, т.к. если их открыть, то действительно как будто зашифрован какой-то вирус. На самом деле это не так.
Именно эти файлы не являются заражёнными, а просто зашифрованными.
Просто попросите эти три файла добавить на хостинге в исключения. Файлы надо вернуть.
2,157 25.09.2015 11:57:41
Re: Фильтр и товары с нулевым остатком (3 ответов, оставленных в Вопросы по работе с системой)
Дело в том, что фильтры когда собирают значения для показа, они просто отталкиваются от характеристик установленных у товара. Конечно при включённой опции скрывать товары с нулевым остатком, показывать значения фильтра где если применить ничего нет, быть не должно. Напишите пожалуйста нам в тех. поддержку на support@readyscript.ru о Вашей проблеме.
2,158 24.09.2015 19:03:59
Re: Фильтр и товары с нулевым остатком (3 ответов, оставленных в Вопросы по работе с системой)
Добрый день.
1.
В настройках блока фильтра есть включение фильтра по остатку. Вам нужно лишь перейти в режим правки (под админом в публичной части справа переключатель). Затем навестись на блок с фильтрами и включить соответствующий флажок. Тогда появится возможность фильтрации по наличию.
2.
В настройках модуля Каталог товаров (Веб-сайт->Настройка модулей->Каталог товаров->Вкладка Основные), есть настройка "Скрывать товары с нулевым остатком". Её надо выставить, сохранить настройки и сбросить кэш системы. Тогда те товары, которых нет в наличии будут скрываться.
2,159 24.09.2015 18:29:39
Re: Условие на проверку изображения к категории (2 ответов, оставленных в Вопросы по созданию тем оформления)
Всё достаточно просто...
Когда значение картинки есть, то оно присутствует в массиве самого объекта, который Вы перебираете. У Вас не получалось его не выводить, т.к. Вы обращались к объекту не как к массиву, а как к protected свойству объекта (из-за двойного подчёркивания __image), а оно в любом случае будет объектом изображения (\RS\Orm\Type\Image), т.к. оно в классе самого ORM объекта определено как объект картинки. Но если вы обращаетесь к ORM объекту как к массиву, то он либо даёт значение картинки(название файла), либо возвращает false.
Т.е. Вам достаточно проверить как:
{foreach $sub_dirs as $item} {* Перебор директорий *}
{if $item.image}{* Если картинка cуществует *}
<img src="{$item->__image->getUrl(310, 310, 'xy')}" /> {* Получаем картинку через объект *}
<a href="{urlmake category=$item._alias p=null f=null bfilter=null}">{$item.name}</a>
{else}
{* Если картинка не существует *}
{/if}
{/foreach}2,160 23.09.2015 11:39:34
Re: Вывод брендов принадлежащих категориям и подкатегориям в них (3 ответов, оставленных в Вопросы по разработке модулей и API системы)
Супер! Спасибо!
2,161 21.09.2015 13:37:53
Re: Не могу добавить кнопку в buttomToolbar (1 ответов, оставленных в Вопросы по разработке модулей и API системы)
Всё достаточно просто Вам нужен хук для метода в контроллере.
Вот пример для одного из моих модулей:
<?php
namespace ArticleToEmail\Config;
use \RS\Orm\Type,
\RS\Html\Toolbar\Button;
/**
* Класс предназначен для объявления событий, которые будет прослушивать данный модуль и обработчиков этих событий.
*/
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this
->bind('controller.exec.shop-admin-orderctrl.edit');
}
/**
* Добавляем кнопку вниз
*
* @param \RS\Controller\Admin\Helper\CrudCollection $helper
*/
public static function controllerExecShopAdminOrderСtrlEdit(\RS\Controller\Admin\Helper\CrudCollection $helper){
//Если редактирование происходит, то покажем кнопку
$id = \RS\Http\Request::commonInstance()->request('id', TYPE_INTEGER, false);
if ($id){
/**
* @var \RS\Html\Toolbar\Element
*/
$bottomToolBar = $helper['bottomToolbar']; //Получаем сформированную нижнюю панель
$router = \RS\Router\Manager::obj(); //Объект роутера
$bottomToolBar->addItem(new Button\Save($router->getAdminUrl('send', array(), 'articletoemail-ctrl'), t('Отправить подписчикам'), array( //Добавление кнопки
'attr'=> array(
'class' => 'crud-add'
)
)));
$helper['bottomToolbar'] = $bottomToolBar;
}
}
}2,162 21.09.2015 12:22:09
Re: Добавить комплектацию товару (1 ответов, оставленных в Вопросы по разработке модулей и API системы)
Всё достаточно просто Вам нужен объект \Catalog\Model\Orm\Offer. Именно он отвечает за вставку и обновлении комплектации. Все комплектации для товаров начинаются с нулевого сортировочного индекса (поле sortn). Остаток дописывается к соответствующему складу всегда. Поле numэто всего лишь сведения об общем остатке по складам.
Сведения об остатка на складах при добавлении комплектации указывается в соответствующем массив сведений с ключом
Для добавления программно комплектации Вам нужно сделать следующее:
$offer = new \Catalog\Model\Orm\Offer();
$offer['product_id'] = 'id товара которому припиываем';
$offer['title'] = 'Название комплектации';
$offer['stock_num'] = array(
'id склада' => 'Количество на складе'
);
offer->insert();Обработка ключа stock_num происходит в методе afterWrite у это объекта (/modules/catalog/model/orm/offer.inc.php)
Если у Вас всего один склад, то его можно получить так:
$default_warehouse = \Catalog\Model\WareHouseApi::getDefaultWareHouse(); //Получаем объект склада с данными.2,163 21.09.2015 11:42:32
Re: странности с фильтром в теме детская (1 ответов, оставленных в Вопросы по работе с системой)
при выборе любого значения фильтра фильтра , например здесь http://full.readyscript.ru/catalog/elektronika/
выбранное значение встает вверху списка - так задумано - или это баг? - как сделать чтобы такого не было?
Так задумано. Выбранные фильтры уходят наверх для удобства.
2,164 21.09.2015 11:41:31
Re: Как сделать фильтр цены слайдером? (1 ответов, оставленных в Вопросы по работе с системой)
Во первых надо обновится до последней версии движка.
Убедится что в папке /modules/catalog/controller/front/ нет файла list_products.my.inc.php иначе он будет перекрывать стандартный вывод товаров.
Также убедится что в папке /modules/catalog/controller/block/ нет файла sidefilters.my.inc.php иначе он будет перекрывать стандартный вывод фильтров.
Далее если у Вас старая версия шаблонов или свой переделанный из стандартного, то надо взять обновлённый шаблон и стили CSS соответственно, если своей темы нет, то всё должно и так заработать.
Рассмотрим пример на основе темы воздушная (perfume). Нам надо взять и заменить шаблон вывода фильтров. Для этого берём шаблон из
/templates/perfume/moduleview/catalog/blocks/sidefilters/sidefilter.tpl
и заменить им свой
/templates/ВАША ТЕМА/moduleview/catalog/blocks/sidefilters/sidefilter.tpl
2,165 21.09.2015 11:25:09
Re: не работает функционал брендов (1 ответов, оставленных в Вопросы по работе с системой)
По какой конкретно инструкции и как ставите?
2,166 18.09.2015 16:44:30
Re: Оформление заказа на одной странице (15 ответов, оставленных в Вопросы по Маркетплейсу)
Адрес пока обязательное поле, везде. Мы вскоре переделаем этот момент, но пока так.
2,167 18.09.2015 11:51:30
Re: Комплектации всегда выпадающим списком (2 ответов, оставленных в Вопросы по работе с системой)
Ну если открыть карточку товара /product.tpl в Вашей теме оформления, то там есть конструкция отвечающая за вывод:
{if count($product.offers.items)>5} {* Если комплектаций больше пяти, то как выпадающий список*}
<select name="offer">
{foreach from=$product.offers.items key=key item=offer name=offers}
<option value="{$key}" {if $smarty.foreach.offers.first}checked{/if} {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()}'>{$offer.title}</option>
{/foreach}
</select>
{else} {* Как радиокнопки *}
{foreach from=$product.offers.items key=key item=offer name=offers}
<input value="{$key}" type="radio" name="offer" {if $smarty.foreach.offers.first}checked{/if} id="offer_{$key}" {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()}'>
<label for="offer_{$key}">{$offer.title}</label><br>
{/foreach}
{/if}Соответственно нужно оставить только select
2,168 18.09.2015 11:48:46
Re: Оформление заказа на одной странице (15 ответов, оставленных в Вопросы по Маркетплейсу)
Был один бажок после удаления, мы его внесём в ближайшем обновлении.
У вас получилось запустить оформление?
2,169 17.09.2015 18:17:13
Re: Оформление заказа на одной странице (15 ответов, оставленных в Вопросы по Маркетплейсу)
Напишите доступы в админку
2,170 17.09.2015 17:38:12
Re: Редирект при регистрация пользователя (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Не за что. Если будут вопросы пишите.
2,171 17.09.2015 16:47:08
Re: Редирект при регистрация пользователя (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Сделать это можно путём вписывания метода getRoute в Вашем файле handlers.inc.php в папке модуля config.
Например так:
function init()
{
$this
->bind('getroute',null,null,1); //Назначение прослушки хука с высоким приоритетом (1)
}
/**
* Возвращает маршруты данного модуля
*/
public static function getRoute(array $routes)
{
//Страница оформления заказа
$routes[] = new Router\Route('users-front-register', array(
'/register/'
), array(
'controller' => 'Папка Вашего модуля-front-registr', // Устанавливаем какой контроллер обрабатывает маршруты
), t('Регистрация своя'));
return $routes;
}'Папка Вашего модуля-front-registr' - будет искать файл registr.inc.php в Вашем модуле
2,172 17.09.2015 16:34:25
Re: Несколько складов в разных городах. Реализация. (6 ответов, оставленных в Вопросы по разработке модулей и API системы)
С битрикс уход это хорошо.
Если вы будете реализовывать собственным модулем, что правильно, то надо будет свой фронт контроллер назначить на отображение товаров. Т.к. у нас в системе действует система маршрутов, то каждому маршруту(тупо шаблон адреса) можно назначить обработку на свой фронт контроллер. Его можно отнаследовать от стандартного фронт контроллера каталога товаров, тогда надо будет поправить всего один метод.
Сделать это можно путём вписывания метода getRoute в Вашем файле handlers.inc.php в папке модуля config.
Например так:
function init()
{
$this
->bind('getroute',null,null,1); //Назначение прослушки хука с высоким приоритетом (1)
}
/**
* Возвращает маршруты данного модуля
*/
public static function getRoute(array $routes)
{
//Страница оформления заказа
$routes[] = new Router\Route('catalog-front-listproducts', array(
'/catalog/{category}/',
'/catalog/'
), array(
'controller' => 'Папка Вашего модуля-front-listproducts', // Устанавливаем какой контроллер обрабатывает маршруты
), t('Просмотр категории свой'));
return $routes;
}'Папка вашего модуля-front-listproducts' - будет искать файл listproducts.inc.php в Вашем модуле
А там уже можно принять запрос и оправить обработку на свой Апи который в свою очередь отнаследовать апи каталога товаров и тогда его расширить.
А вообще в очень скором времени мы откроем возможность добавления behavior функций и тогда можно будет вообще навесить свои методы дополниельно к классу апи. Например у апи каталога товаров можно будет назначить из Вашего модуля свой метод, который появится у этого апи. И его можно будет вызывать как обычный метод.
2,173 17.09.2015 13:20:31
Re: Несколько складов в разных городах. Реализация. (6 ответов, оставленных в Вопросы по разработке модулей и API системы)
Город выбранный можно запоминать и в куках. Если пользователь не выбрал город, то подставлять какой-либо главный по умолчанию.
Кстати как будете добавлять поле? Через свой модуль? Или просто правкой файла?
2,174 17.09.2015 13:19:00
Re: Несколько складов в разных городах. Реализация. (6 ответов, оставленных в Вопросы по разработке модулей и API системы)
У нас есть в планах добавить нужный Вам функционал. Скорее всего он появится уже в этом году, точную дату не скажу, но течении ближайших месяцев я думаю будет. Теперь по существу.
Оба варианта правильные.
Но надо учесть что во втором, надо правильно указать гуглу и яндексу что это зеркала, чтобы он за дубли Вас не наказал. Почитать как это сделать можно в документации самого яндекса. Плюсом будет второго метода, то что если цены по филиалам изменятся, то они будут правильно отображены, и можно указывать свои контакты под каждый сайт филиала.
В первом случае, реализовать такое тоже можно, Вы идёте в верном направлении. Но надо учесть то что при обновлении все файлы стандартные перезаписываются и Вам нужно если вы правите .inc.php файлы сделать их копии, только с другим окончанием (.my.inc.php), тогда будут подхватываться именно Ваши файлы. Либо реализовать всё через Ваш отдельный модуль. Остатки по складам храняться в таблице комплектаций, а не товаров. Если у Вас будет только одна комплектация(товар без дополнительных комплектаций). То можно просто делать INNER JOIN из таблицы комплектаций, чтобы фильтровать.
Плюсом будет отсутствие дублей.
Поэтому мне кажется более приемлимый 1 вариант, хотя и гемморойнее.
Ну либо дождаться когда выйдет наше решение. Но это не скоро.
2,175 17.09.2015 12:48:13
Re: Оформление заказа на одной странице (15 ответов, оставленных в Вопросы по Маркетплейсу)
Модуль надо вернуть.
404 у Вас скорее всего появляется, т.к. у Вас нет соответствующего шаблона в вашей папке, т.к. тема Ваша. Мы в следующих версиях внесём правки в движок, который будет подключать шаблон по умолчанию этого модуля если его не найдёт у Вас.
Что делать?
Нужно скопировать соответствующий шаблон себе. Для этого переходим в папку модуля
/modules/onepageorder/view/templates
копируем папку perfume и вставляем в туже папку, но меняем название perfume, на название папки Вашей темы оформления. Посмотреть её можно в Веб-сайт->Настройка сайта->строка с выбором шаблона.
После этого я думаю всё должно заработать