1,776

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

чтобы посмотреть срабатывает эта функция у Вас или нет.
Киньте код обоих попыток.
Кстати, первый хук немного не такой. Он же должен вести на контроллер в админ панели. Вы в каком контроллере данные сохраняете.
Просто если посмотрите в папку с контролерами админки, то там есть только orderctrl, а не order. Вы же понимаете как формируется хук?
controller.afterexec.ПАПКАМОДУЛЯ-ПАПКАКОНТРОЛЛЕРА(ADMIN)-ИМЯФАЙЛАКОНТРОЛЛЕРА.

А вот второй должен сработать. Надо сделать var_dump и посотреть прервётся ли сохранение.

1,777

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

Он совсем простой, поэтому я думаю, тоже что проже я javascript сделать. И всё будет мгновенно.

1,778

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

Ну прямая вставка php в шаблон запрещена, т.к. она depricated (тег php) в Smarty. Так в мире уже никто не делает, кроме пожалуй Битрикса где идёт нативное подключение HTML в перемешку с PHP. У вас там калькулятор АПИ или просто обыкновенный код?
Если там сложная логика, то я думаю лучше будет выделить это всё в отдельный файл апи и в дополнительном модуле через Ваш блок контроллер вызывать обращения к этому API, где будет происходить калькуляция. Вообщем опишите более детально, что нужно сделать.

1,779

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

А можно вообще наверное ещё проще использовать orm.beforewrite.shop-config-file, тогда это сразу в объекте сработает.

1,780

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

Ну Вы die или var_dump сделайте, чтобы понять срабатывает ли функция.
Я думаю дело в хуке
controller.afterexec.shop-admin-order
Пропустили видимо admin

1,781

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

if (isset($_POST['current_val'])){
        $order['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING);
    }

Всё гораздо проще, функция принимает третий параметр. Это значение по умолчанию. Поэтому не нужно проверять через $_POST. А просто:

$order['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, false);

И далее уже проверять на не false
Или просто сделать значением пустую строку. Тогда ввоще ничего проверять не нужно.

1,782

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

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

1,783

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

Sergey T. пишет:

Победил все-таки эту проблему. Нужно было добавить вот такую запись, чтобы разрешить конкретный раздел или страницу в конце robots.txt

Allow: */catalog/krossovki/?bfilter*

Теперь все работает так как задумано!

Дайте полный код

1,784

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

Связка простая. Товары заводятся в Мой Склад, далее выгружаются в ReadyScript, с заведёными свойствами и данными.
У Вас конкретно, какие проблемы?

1,785

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

1. В каких CMS есть данная функция в коробке, чтобы мы постморели?
2. Я могу скинуть Вам наработки по данной теме, чтобы облегчить задачу. Но там без .my.inc.php, не обойтись скорее всего Вам будет.

1,786

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

Юрий пишет:

спасибо, робит

Видео по СЕО здесь.
https://www.youtube.com/watch?v=-iDMbYo … mp;index=8

1,787

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

Дмитрий пишет:

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

В том то и дело что не нужен полноценный блог, нужен простенький статный раздел с возможностью сортировать статьи в категории. Ну если с URL теперь немного понятнее, спасибо кстати, то видимо сортировку придется допиливать. Вообще странно что нет ни ручной сортировки товаров, ни ручной сортировки статей, во многих случаях нужная вещь.

Сортировка статей происходит по дате по убыванию. Вы можете там это сделать. И в админке отсортировать по полу размешено. Добавляется справа на шестирёнке.

Что касается товаров, то мы как-то на заказ делали такую вещь, но Вы себе даже не представляете масштаб этой задачи. Особенно в рамкам множественных категорий. За несколько лет с такой просьбой обратились пару человек. Остальным 99% пользователей такая задача не понадобилась. И она сильно усложняла логику и контроллеры. Поэтому в коробку это не вошло.

1,788

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

У нас есть это в пожеланиях. Мы к этому склоняемся, но пока ещё не решили будем делать или нет.

1,789

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

Юрий пишет:

Добрый день,
Изменения для данной страницы не сохраняются , в чем может быть проблема?
http://prntscr.com/bjimt1
для вот этой страницы http://deva7km.com/warehouse/sklad-na-7 … re-odessa/

Проблема в домене, адрес должен быть относительным, а не абсолютным
/warehouse/sklad-na-7-kilometre-odessa/

В следующем обновлении у складов появятся мета-теги напрямую.

1,790

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

Андрей пишет:

Я имею ввиду, что сделать скрипт разместить его на домене на своём хостинге, а обращения со стороннего хостинга делать к облаку.

Ну Вам всё равно понадобится модуль в качестве отдающей контент стороны. Вы ведь данные из админ части получать хотите? Вы же не парсить будете. Соответственно нужен адрес по которому будете получать контент.

1,791

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

А какого плана проверку хотите сделать?

1,792

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

Дмитрий пишет:

Что такое нормальный урл? Разве /text-novii-material/ не нормальный урл? Или поисковик его не поймёт? Или есть штрафные санкции к text- ?

Ну это просто какие то полумеры, хочется полный контроль и не хочется объясняться по поводу этого с клиентами.

А Вы им так и объясните, что это требование системы. ЧПУ будет строится от text- и на SEO не влияет. Это в "лохматых" годах делали такие url, что довало абсолютную неоднозначность, и замедлчло работу. Т.к. если сайт становился огромным, и все сведения хранились в одной таблице (какой url чему соответствует), то увеличивалось время на поиск в этой таблице, например если записей несколько миллионов. Маршруты, не общаются к БД, а сразу получают контроль и передают всё в контроллер. Для этого они и были придуманы. Это более современный подход. Хотя способы есть, но тут придётся покрутится. Например как делает Ярослав из предыдущего хоста, но по умолчанию всё именно так происходит.

1,793

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

как вариант, можно прописать конкретные запреты на "?" если это нужно. Например для главной страницы

/?*

и т.д.

Если Вам не нужно запрещать ?, то тогда можно удалить.

1,794

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

Всё верно. Ведь парядок имеет значение. Вы сначала разрешаете, а потом всё запрещаете.

1,795

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

Что такое нормальный урл? Разве /text-novii-material/ не нормальный урл? Или поисковик его не поймёт? Или есть штрафные санкции к text- ? smile
Я думаю, что для поисковой машины это семечки и плевать ей на text-.

1,796

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

У нас упор на функционал магазинов. Это же не движок блога.
Что бы Вы хотели бы видеть?

1,797

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

В системе используются маршруты (маски адресов). Новости открываются по маске. /text-aliasраздела/ . Вы можете только alias раздела менять, просто указав при редактировании категории псевдоним. Если псевдоним не указывать, то действительно будет /text-1/ и т.д.

1,798

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

Ярослав пишет:

А я бы хотел узнать, можно ли к другой БД из RS подключаться)

Можно.
Но нужно, чтобы на хостинге стояло разрешение, на доступ к БД из вне.
Обращаться к БД можно же по IP адресу, просто указав доступы к базе данных. Коннект должен быть последовательным. 

//Сменим стандартное подключение на своё для работы
\Setup::$DB_HOST = 'новый хост';
\Setup::$DB_USER = 'юзер';
\Setup::$DB_PASS = 'пароль';
\Setup::$DB_NAME = 'Имя базы';
\RS\Db\Adapter::init();

//Теперь система будет подключена к другой базе и можно строить к ней запросы.

После того как поработали с внешней БД, но проделать тоже самое, но уже сменить доступы обратно на свои.
Пока так, чтобы использовать \RS\ORM\Request

Если нужно держать сразу 2 соединения и к внешней БД и к своей, то тут можно для внешнего соединения использовать стандартные фукнции php. Но я думаю, это будет уже не то.

1,799

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

Андрей пишет:
Закусило Александр пишет:

Вы хотите сделать перенос из другой системы на другой платформе?

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

В облаке нет возможности создавать свои php файлы. Можно только сделать на локалке дополнительный модуль на локальной версии продукта и потом, закачать его себе в облако его и например запускать метод на исполнение или ещё что-то.

Что касается блок контроллера, то можно просто его отклонировать в свой модуль и потом подключить, просто указав свой блок контроллер, его кстати можно отнаследовать от стандартного блок контроллера, чтобы просто добавить потом одно поле.
С остальными моментами сложнее, т.к. нужно, в контроллере списка товаров listproducts.inc.php обрабатывать приём параметра фильтра из запроса подготовленного блок контроллером.
Но здесь можно воспользоваться хуком controller.beforeexec.catalog-front-product (controller.beforeexec.КОРОТКОЕ_ИМЯ_КОНТРОЛЛЕРА).
О хукам можно почитать здесь:
http://readyscript.ru/dev-manual/dev_ho … hooks_list

В результате чего у нас должна появится публичная статическая функция

public static function [b]controllerBeforeExecCatalogFrontProduct($data)[/b]
{
      $controller = $data['controller'];//Объект фронт контроллера listproducts
      $action = $data['action'];//Метод класса который отрабатывает страницу. Надо проверить на index
      
      //Приём параметра из запроса
      $param = \RS\Http\Request::commonInstance()->request('Наш параметр из $_REQUEST который нужно принять', TYPE_STRING); 

      //Получаем объект запроса из апи товаров, т.к. в контроллере listproduct параметр $api публичный
      $q = $controller->api->queryObj(); 
      //Дальше запрос который Вам нужне и нужные действия
}

Т.к. у нас есть публичная переменная класса $api и первым всегда отрабатывает функция init в контроллере listproducts, то в $this->api будет объект АПИ для запросов, мы его из вне дополним.
Видео по запросам, можно посмотреть у нас в разделе видеоуроки