Статусы Товаров В Заказе

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

{__("none")} {__("_md_buy_in_advance3")}

{__("sign_up_for_notification")}

меняю шаблон через модуль. status_of_products_in_the_order есть в базе данных в таблице order_details Синтаксис сам не придумывал взял из товара, не получается записать данные в базу данных

Из базы данных считывается.

Приветствую Вас в школе магии и колдовства "Хогвардс"

К сожалению, это не так, мы не волшебники и не имеем доступа к вам, что понять что, где и как вы делаете. Чем детальней вы опишите задачу, тем быстрее и точнее получите ответ.

Не понятно:

1. Что за настройка, можно детальней, простыми словами ответ на вопрос: "Что делает ваш модуль".

2. В каком файле (странице) изменяете код.

3. Вы смотрели, что происходит в контролере, который отвечает за сохранение? Так как я не понимаю, на какой странице вы делаете изменения, то не могу и контроллер определить.

На странице заказа
Просмотра заказа

В админке

На странице заказа
Просмотра заказа

1. Если посмотреть код кнопки "Сохранить", то увидите

order_management.place_order.save

Это нужный контроллер.

2. Открываем контроллер:

app/controllers/backend/order_management.php

3. Находим наш мод:

if ($mode == 'place_order') {
4. Там приходим к функции fn_place_order
5. Находим функцию в файле:
/app/functions/fn.cart.php
6. Приходим к функции fn_update_order и находим её
7. Там мы и увидим таинство создания заказа и функцию fn_create_order_details($order_id, $cart);
которая названием намекает что будет делать запись в нужную вам таблицу базы данных.
8. Заходим в функцию, видим что там идёт запись. Пытаемся понять, почему наших данных нет перед запросом.

Я выяснил у меня ничего не передается никакая информация, кол-во передается а информация о моем setting нет. Даже в эту функцию

В какой то момент вся это инфо сохраняется в сессии, а моя переменная нет видать.

fn_save_cart_content - в этой функции не было сохранение моей переменной в сессию

Пока не разобрался как с этой сессией справится

Пока не разобрался как с этой сессией справится

Информация о вашей новой настройке, должна быть в $_REQUEST, следите за этим массивом.

Возможно стоит сделать свой post контроллер, который самостоятельно обработает и сохранит данные из вашей настройки.

Приложите архив с модулем или выложите модуль на github (bitbucket), чтобы я мог подсказать. С нуля собирать модуль как у вас требует времени.

Да и я до сих пор не могу понять, что за статус вы добавляете, зачем он?

Меня попросили сделать статусы товаров у заказов, собран или не собран. Есть в наличии и тому подобное. Раньше они это все вели в таблице. И на другом самонаписаном движке. ВОт пытаюсь разобраться.

И все модуля у меня только пару строчек кода это изменение шаблона и все. Шаблонов следующих details.tpl и шаблон редактирования формы заказа, так что нечего особо выкладывать, ну и код добавления настройки в таблицу "Моей настройки." Вот я пытаюсь разобраться как это сделать... $_REQUEST - буду разбираться в ней. Изучи переменную $cart я не увидел своих данных. И в самом вверху я увидел что он данные берет из сессии. Тогда я начал разбираться в какой момент запиываются в сессию.

Выложу позже....

Я больше ниего изменить не успел. Разбираюсь.

1b560f3044d361566404c0bcc05acc75.zip

Создал и загнал мою настройку с помощью хука до функции fn_create_order_details($order_id, $cart); а дальше буду дальше изучать функции, потому что мне ее или видо изменять(что неправильно). Или как то добавлять.

fn_create_order_details($order_id, $cart); довел до этой функции

fn_create_order_details($order_id, $cart); довел до этой функции

Выкладывайте финальную версию модуля, чтобы можно было смотреть, лучше github , там сразу можно комментировать.

Нужна консультация как выложить на github?

В этом да

я с ним не знаком

В этом да я ним не знаком.

Я пока грубо изменил строчку внутри движка чтобы данные записывались в таблицу(читаю информацию как сделать правильно)

И столкнулся с такой проблемой не знаю где искать

Когда захожу в режим редактирования данные моей настройки теряются между двумя модами edit и update

В этом да я ним не знаком.

Я пока грубо изменил строчку внутри движка чтобы данные записывались в таблицу(читаю информацию как сделать правильно)

И столкнулся с такой проблемой не знаю где искать

Когда захожу в режим редактирования данные моей настройки теряются между двумя модами edit и update

При редактировании корзина пересоздаётся на основании заказа. Можете по шагам описать в какой момент теряются настройки?

Я выяснил методом эксперимента и научного тыка. Что есть специальная функция fn_form_cart, которая передает параметры для заполнения формы на странице, и увидел что моя настройка туда не передается в переменную $cart.

Дошел до функции fn_add_product_to_cart. Попытался создать хук ничего не вышло постоянно ругался на то что переменная $product_id неопределена, хотя в хуке в функции ее не переопределял.

function fn_my_design_pre_add_to_cart(&$product_data, &$cart, &$auth, &$update)
{
//if ($update == true)
//{
/*fn_print_r($product_data);///*/
foreach ($product_data as $key => $value)
{
$cart['products'][$key]['status_of_products_in_the_order'] = $value['status_of_products_in_the_order'];
}
//}
//fn_print_r($cart);*/
}
Переменная как нестранно печаталась, но выдывало ошибки.
Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 2845 Notice: Undefined index: amount in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 2845 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/addons/required_products/func.php on line 218 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 4317 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 4317 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 2845 Notice: Undefined index: amount in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 2845 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/addons/required_products/func.php on line 218 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 4317 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 2845 Notice: Undefined index: amount in /home/y/ypanale/ypanale.bget.ru/public_html/app/functions/fn.cart.php on line 2845 Notice: Undefined index: product_id in /home/y/ypanale/ypanale.bget.ru/public_html/app/addons/required_products/func.php on line 218
Так как я с php только начинаю знакомится, есть азы С++. ПОэтому искать сложно
Пытаясь анализировать together_buy, потому что он такой же хук использовал и составил код