1,526

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

Включите отображение ошибок . Откройте ссылку на изображение в новой вкладке и посмотрите, что какой статус ответа и что вообще вернётся.
http://readyscript.ru/faq/#faq-errors

Нет. В облачном нельзя. Только на своём хостинге.
Как Вариант. Сделайте импорт новых товаров в категорию. У которой флаг публичности выключен. Тогда в эту категорию невозможно будет попасть.

1,528

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

Ну если у Вас в $elem объект заказа, то почему Вы делаете обращение через в value как $item.. У Вас оно в $elem или $item?

Только если программно вешаться на хук создание товара и убирать флаг Публичности. А так пока такой настройки нет.
http://readyscript.ru/dev-manual/dev_ho … hooks_list

Вы также можете оставить своё предложение на helpdek.readyscript.ru

В данном видео рассматривается подробно вопрос создания колонок для административного контроллера при выводе информации. Рассмотрены все основные типы.
Само видео находится здесь:
https://www.youtube.com/watch?v=Au6Cd9H … mp;index=9
или Вы можете найти его в нашем разделе с видеоуроками.

1,531

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

Это происходит потому, что невозможно задать URL имя для нескольких товаров. Плюс когда создаётся товар, то там же URL имя сразу прописывается, когда Вы товар заводите. Или Вы товары как-то импортируете?
А вообще в настройках модуля Каталог товаров справа есть генерация URL имени, по ссылке.
Называется "Добавить ЧПУ имена товарам и категориям". Добавит символьный идентификатор (методом транслитерации) товарам и категориям, у которых он отсутствует.

1,532

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

Да. Это не запрещено. Не за что. smile

1,533

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

Лучше оставить наверное второй вариант. Однако лучше если аттрибуты name были бы более правильные. Я имею ввиду, у вас сейчас name такой:

name="userfields_arr[]"

А правильно было бы указывать более точный элемент массива. Т.е. чтобы было не 0, 1 и т.д., а конкретно наименование поля name, которое Вы указывали при создании полей в настройках модуля магазин. Там где у Вас было "Идентификатор".
На например:

name="userfields_arr[current_val]"

Тогда будет в итоге ассоциативный массив и 100% попадание в нужное поле. Т.к. 0,1 рождает иногда неоднозначность.

1,534

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

Подскажите еще как добавить авто генерацию URL когда выбрано 2-50 товаров

Что Вы имеете ввиду?

1,535

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

Что вы имеете ввиду под "их выносить вне foreach?"

1,536

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

чтобы  поиск выдавал все значения компл. как отдельный товар или как один товар но с компл. которую искали?

Чтобы отдельно выдавал. Вам надо завести как отдельными товарами.

А если одним товаром. То в поисковый индекс идёт по:
- Характеристики самого товара
- Артикул
- Короткое описание
- Мета ключевые слова

Соответственно по ним и ищется.

1,537

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

Вы информацию о том, что делаете даёте порционно.
Посмотрите, что за ошибки в исходном коде страницы, предварительно включив отображение ошибок.

http://readyscript.ru/faq/#faq-errors

Вы же специалист. За Вас программировать никто не будет. Я могу лишь подсказать.
Ато получается, что я за Вас программирую, а не Вы, а делать нужно Вам, а не мне. Если Вы встретили "затык", тогда обращайтесь помогу. Ато Вы даже не подумали, а сразу пишите. Так дело не пойдёт. Придётся Вам тоже приложить усилия.

1,538

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

Соответственно В ДАННОМ СЛУЧАЕ:
Первое поле:
{$order.userfields_arr.current_val[0]}

А второе поле:
{$order.userfields_arr.current_val[1]}

1,539

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

Так обратитесь к конкретному полю массива. Посмотрите, что у Вас выводит var_dump в шаблоне.
http://poleshuk.ru/massivy-v-php-rabota … ami-v-php/
http://i-vd.org.ru/books/php/arrays.shtml
https://yandex.ru/video/search?text=%D1 … %D0%B2+PHP

1,540

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

Андрей надо подтянуть знания по формам и работе с массивами. smile

if (isset($_POST['userfields_arr'])){ //Если нужное поле пришло из запроса
   $order['userfields'] = serialize($_POST['userfields_arr']);   
}

Вот и всё.

1,541

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

Ну так поменяйте его или объедините как

...
name="userfields_arr[моё поле]"
...
name="userfields_arr[моё поле 2]"

Тогда будете ловить переменную userfields_arr которая придёт как массив.
Это же элементарная отправка формы.

1,542

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

Ну у Вас в POST 2 поля приходят. Соответственно, в массиве для сохранения нужно указать 2 поля.

$myarray = array(
    'current_val' => $_POST['current_val'],
    'name второго поля' => $_POST['name второго поля']
);

Правда есть ещё один момент. $_POST просто мной был использован для примера. Получение из POST лучше сделать системными средствами:

$имяпеременной = \RS\Http\Request::commonInstance()->request('имя переменно POST', TYPE_STRING);

Надеюсь последним кодом Вас не запутаю.

1,543

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

Не за что smile

1,544

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

Ого, как все сложно ) просто чтобы заменить надпись надо переопределять целый файл? А если в исходном файле появлятся какие то обновления, то получается они не будут работать? Так как будут перекрываться файлом my.inc.php ?

Причём здесь my.inc.php, мы этот вариант уже не рассматриваем. Вам нужно перегрузить шаблон с выводом способа доставки при заказе, чтобы его кастомизировать. Это нормальная практика, для всех магазинов которые хотят сделать под себя. Я правда не знаю, используете ли Вы модуль заказ на одной странице. Если да то там шаблон несколько другой.

1,545

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

Вы меня не поняли.
Вы из POST получаете current_val, а не из заказа. У вас отправляется просто форма с полями и эти поля Вам нужно записать в заказ. Это первый момент. Т.к. у Вас поля добавлены через конфиг модуля магазин, то доп поля храняться в этом случае в сериализованном массиве. Сериализованный массив это массив с ключами в виде name полей и их значениями.

/**
* Действия перез записью заказа в БД
*/
public static function ormBeforeWriteShopOrder ($data) {
        
        /**
        * @var \Shop\Model\Orm\Order
        */ 
        $order = $data['orm'];//Получаем объект заказа
        $flag = $data['flag'];//флаг

        
        if (isset($_POST['current_val'])){ //Если нужное поле пришло из запроса
          $myarray = array(
             'current_val' => $_POST['current_val'];
          );
          $order['userfields'] = serialize($myarray);
       
        }
    }

А второй момент это момент с выводом значений. Вы просто в шаблоне у себя прописали поле. А как с выводом бы с выводом значения? Его надо самостоятельно подставлять в Вашем случае. В БД всё сохранится в поле userfields. И будет в сериализованном виде. Однако в заказе (\Shop\Model\Orm\Order т.е. если заглянуть в файл /modules/shop/model/orm/order.inc.php) есть функция afterObjectLoad, которая этот сериализованный массив, рассериализовывает при первой загрузке и в распакованном виде помещает в поле userfields_arr. Его Вы и можете использовать чтобы вывести в нужное поле значение в шаблоне. Для примера в самом шаблоне сделайте после записи

<pre>{var_dump($order.userfields_arr)}</pre>

1,546

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

У вас доставки выводятся в шаблоне
/templates/ВАША ТЕМА/shop/checkout/delivery.tpl

Вам нужно проверить id доставки и если это доставка, которая должна быть рассчитана менеджером, то выдавать другое сообщение в шаблоне. Вы же надпись хотите заменить.

1,547

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

Прощу прощения. Чёт я уже заработался:) Через .my.inc.php сделайте, либо проверьте  на id доставки в шаблоне. Я думаю второй вариант более предпочтительный:

{if $item.id=='Мой id доставки'}

{else}

{/if}

1,548

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

После оформления самого заказа в заказе менеджер всё меняет.

1,549

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

А чему $myarray у Вас переменная равна? И почему, если вы отправляете переменную с именем current_val у Вас проверка на $_POST['userfields']?

1,550

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

{$fio=$user->getFio()}