Андрей.
var_dump($_REQUEST['current_val']); что выдаёт? Если ничего, то выведите весь массив $_REQUEST и посмотрите что у Вас из запроса приходит.
1,701 24.06.2016 16:48:07
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
1,702 24.06.2016 15:56:17
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Переустановка модуля здесь вообще не причём. А current_val у Вас вообще передаётся? Вы как проверяли? var_dump прерывает сохранение заказа?
1,703 24.06.2016 14:58:09
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Александр
Да вот куда не вставлю var_dump ошибку выдает.
Вставил Ваш код, все равно не работает. Может какая то оошибка в шаблоне самом?
Какую?
1,704 24.06.2016 14:52:18
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Вот рабочий код:
function init()
{
$this
->bind('orm.beforewrite.shop-order');
}
/**
* Действия перед записью в БД
*
* @param array $data - массив с данными
*/
public static function ormBeforewriteShopOrder($data)
{
if (isset($_REQUEST['current_val'])){
$config = \RS\Config\Loader::byModule('shop'); //Получам конфиг магазина
$config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, ""); //Записываем значение из поста
$config->update(); //ЗДЕСЬ есть, т.к. сохраняется другой объект
}
}1,705 24.06.2016 13:58:37
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Если я правильно понимаю, Вы добавили поле в заказе. Соответственно у Вас сохраняется объект заказа. Где находится ORM объект заказа в модуле shop? в /modules/shop/orm/order.inc.php
Соответственно, мы делаем хук на сохранение заказа, т.е. перед его сохранением, чтобы из поста записать значение. Т.е. делать нужно вот так:
function init()
{
$this
->bind('orm.beforewrite.shop-order');
}
/**
* Действия перед записью в БД
*
* @param array $data - массив с данными
*/
public static function ormBeforewriteShopOrder($data)
{
$config = \RS\Config\Loader::byModule('shop'); //Получам конфиг магазина
$config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, ""); //Записываем значение из поста
$config->update(); //ЗДЕСЬ есть, т.к. сохраняется другой объект
}В $data['orm'] - здесь будет ORM объект заказа.
Пробуйте
P.S. Запишу видео скоро по beforewrite и afterwrite, чтобы вопросов не оставалось.
1,706 24.06.2016 13:53:31
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
orm.beforewrite у Вас сработает в тех случаях если вызывался
insert() - запись объекта
или
update() - обновление объекта
Вы сами действия где производите? В каком разделе? я имею ввиду с полем Вашим.
1,707 24.06.2016 13:52:20
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Попробуйте вот для примера добавить var_dump и сохранить в Веб-сайт->Настройка модулей->Магазин сам конфиг.
1,708 24.06.2016 13:46:48
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
как правильно вывести var_dump(а тут что?);
Всё, что угодно. Например var_dump($data['orm']);. Ваша задача просто понять, сработала у Вас функция перед записью объекта или нет. Для этого мы это пишем и если var_dump сработает, то когда будет сохранять конфиг у нас либо выведется это значение, либо запись прервётся и консоли браузера Вы сможете увидеть, что в запросе появился вывод var_dump. Это нужно в первую очередь для отладки.
Я попробовал хук orm.beforewrite.shop-config-file . Я меня всё сработало.
Этот хук вызывается перед записью ORM объекта в БД.
Зачем вы вызываете $config->update();? Вам нужно лишь установить Ваше значение.
$config->update(); - Вы опять вызовите запись в БД, т.к. этим вы говорите опять сохрани мне конфиг в БД. Т.е. зациклите сохранение до бесконечности.
Вот мой код:
function init()
{
$this
->bind('orm.beforewrite.shop-config-file');
}
/**
* Действия перед записью в БД
*
* @param array $data - массив с данными
*/
public static function ormBeforewriteShopConfigFile($data)
{
$config = $data['orm'];
$config = \RS\Config\Loader::byModule('shop');
$config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, "");
}1,709 24.06.2016 11:41:51
Re: URL в модуле контент (27 ответов, оставленных в Вопросы по работе с системой)
В основном все ищут либо по цене, либо по названию. Но хитрые маркетологи придумали "импульсные продажи", т.е. тогда когда нужно продать определённый товар, они подсовывают на первую страницу определённые позиции. Тема не слишком востребованная, т.к. есть лидеры продаж, но тем не менее имеет место быть.
1,710 24.06.2016 11:31:09
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
чтобы посмотреть срабатывает эта функция у Вас или нет.
Киньте код обоих попыток.
Кстати, первый хук немного не такой. Он же должен вести на контроллер в админ панели. Вы в каком контроллере данные сохраняете.
Просто если посмотрите в папку с контролерами админки, то там есть только orderctrl, а не order. Вы же понимаете как формируется хук?
controller.afterexec.ПАПКАМОДУЛЯ-ПАПКАКОНТРОЛЛЕРА(ADMIN)-ИМЯФАЙЛАКОНТРОЛЛЕРА.
А вот второй должен сработать. Надо сделать var_dump и посотреть прервётся ли сохранение.
1,711 24.06.2016 11:23:05
Re: Как вставить PHP калькулятор в страницу? (4 ответов, оставленных в Вопросы по работе с системой)
Он совсем простой, поэтому я думаю, тоже что проже я javascript сделать. И всё будет мгновенно.
1,712 23.06.2016 18:41:36
Re: Как вставить PHP калькулятор в страницу? (4 ответов, оставленных в Вопросы по работе с системой)
Ну прямая вставка php в шаблон запрещена, т.к. она depricated (тег php) в Smarty. Так в мире уже никто не делает, кроме пожалуй Битрикса где идёт нативное подключение HTML в перемешку с PHP. У вас там калькулятор АПИ или просто обыкновенный код?
Если там сложная логика, то я думаю лучше будет выделить это всё в отдельный файл апи и в дополнительном модуле через Ваш блок контроллер вызывать обращения к этому API, где будет происходить калькуляция. Вообщем опишите более детально, что нужно сделать.
1,713 23.06.2016 18:37:09
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
А можно вообще наверное ещё проще использовать orm.beforewrite.shop-config-file, тогда это сразу в объекте сработает.
1,714 23.06.2016 18:34:37
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Ну Вы die или var_dump сделайте, чтобы понять срабатывает ли функция.
Я думаю дело в хуке
controller.afterexec.shop-admin-order
Пропустили видимо admin
1,715 23.06.2016 15:53:14
Re: Редактирование полей (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,716 23.06.2016 13:55:39
Re: Интеграция с мойсклад (9 ответов, оставленных в Вопросы по работе с системой)
Ну конечно будут задвоены.
Ведь МойСклад выгружает товары со своим уникальным идентификатором. И при импорте из МойСклад в RS проверяется именно этот уникальный идентификатор. У товаров заведённых в RS совершенно другой идентификатор у товара. И т.к. они не совпадают, то и получается задвоение. Нужно либо в RS вести товар, либо в МойСклад.
Возможности загружать в мой склад уже заведённые товары нет. МойСклад этого не поддерживает по стаандарту впрочем, как и 1С.
1,717 23.06.2016 13:52:10
Re: Sitemap вопрос (23 ответов, оставленных в Вопросы по работе с системой)
Победил все-таки эту проблему. Нужно было добавить вот такую запись, чтобы разрешить конкретный раздел или страницу в конце robots.txt
Allow: */catalog/krossovki/?bfilter*
Теперь все работает так как задумано!
Дайте полный код
1,718 23.06.2016 11:19:56
Re: Интеграция с мойсклад (9 ответов, оставленных в Вопросы по работе с системой)
Связка простая. Товары заводятся в Мой Склад, далее выгружаются в ReadyScript, с заведёными свойствами и данными.
У Вас конкретно, какие проблемы?
1,719 23.06.2016 11:17:45
Re: URL в модуле контент (27 ответов, оставленных в Вопросы по работе с системой)
1. В каких CMS есть данная функция в коробке, чтобы мы постморели?
2. Я могу скинуть Вам наработки по данной теме, чтобы облегчить задачу. Но там без .my.inc.php, не обойтись скорее всего Вам будет.
1,720 22.06.2016 16:26:34
Re: Мета теги для склада (8 ответов, оставленных в Вопросы по работе с системой)
спасибо, робит
Видео по СЕО здесь.
https://www.youtube.com/watch?v=-iDMbYo … mp;index=8
1,721 22.06.2016 16:14:10
Re: URL в модуле контент (27 ответов, оставленных в Вопросы по работе с системой)
На самом деле, RS очень гибкая система и всегда можно найти выход. Если необходим полноценный блог, то лучше делать отдельным поддоменом, что сделано у многих крупных фирм.
В том то и дело что не нужен полноценный блог, нужен простенький статный раздел с возможностью сортировать статьи в категории. Ну если с URL теперь немного понятнее, спасибо кстати, то видимо сортировку придется допиливать. Вообще странно что нет ни ручной сортировки товаров, ни ручной сортировки статей, во многих случаях нужная вещь.
Сортировка статей происходит по дате по убыванию. Вы можете там это сделать. И в админке отсортировать по полу размешено. Добавляется справа на шестирёнке.
Что касается товаров, то мы как-то на заказ делали такую вещь, но Вы себе даже не представляете масштаб этой задачи. Особенно в рамкам множественных категорий. За несколько лет с такой просьбой обратились пару человек. Остальным 99% пользователей такая задача не понадобилась. И она сильно усложняла логику и контроллеры. Поэтому в коробку это не вошло.
1,722 22.06.2016 16:07:04
Re: Мета теги для склада (8 ответов, оставленных в Вопросы по работе с системой)
Добрый день,
Изменения для данной страницы не сохраняются , в чем может быть проблема?
http://prntscr.com/bjimt1
для вот этой страницы http://deva7km.com/warehouse/sklad-na-7 … re-odessa/
Проблема в домене, адрес должен быть относительным, а не абсолютным
/warehouse/sklad-na-7-kilometre-odessa/
В следующем обновлении у складов появятся мета-теги напрямую.
1,723 22.06.2016 12:33:19
Re: Удалить заказ и Удалить товар (13 ответов, оставленных в Вопросы по работе с системой)
А какого плана проверку хотите сделать?
1,724 22.06.2016 10:10:44
Re: URL в модуле контент (27 ответов, оставленных в Вопросы по работе с системой)
Что такое нормальный урл? Разве /text-novii-material/ не нормальный урл? Или поисковик его не поймёт? Или есть штрафные санкции к text- ?
Ну это просто какие то полумеры, хочется полный контроль и не хочется объясняться по поводу этого с клиентами.
А Вы им так и объясните, что это требование системы. ЧПУ будет строится от text- и на SEO не влияет. Это в "лохматых" годах делали такие url, что довало абсолютную неоднозначность, и замедлчло работу. Т.к. если сайт становился огромным, и все сведения хранились в одной таблице (какой url чему соответствует), то увеличивалось время на поиск в этой таблице, например если записей несколько миллионов. Маршруты, не общаются к БД, а сразу получают контроль и передают всё в контроллер. Для этого они и были придуманы. Это более современный подход. Хотя способы есть, но тут придётся покрутится. Например как делает Ярослав из предыдущего хоста, но по умолчанию всё именно так происходит.
1,725 21.06.2016 18:47:16
Re: Sitemap вопрос (23 ответов, оставленных в Вопросы по работе с системой)
как вариант, можно прописать конкретные запреты на "?" если это нужно. Например для главной страницы
/?*и т.д.
Если Вам не нужно запрещать ?, то тогда можно удалить.