yodaexolon Опубликовано 13 марта, 2015 Жалоба Поделиться Опубликовано 13 марта, 2015 (изменено) 1. Создаем в базе данных в таблице s_orders поле delivery_number у меня уже было изначально 2. Открываем /api/Orders.php и находим $query = $this->db->placehold("SELECT o.id, o.delivery_id, o.delivery_price, o.separate_delivery, o.payment_method_id, o.paid, o.payment_date, o.closed, o.discount, o.coupon_code, o.coupon_discount, o.date, o.user_id, o.name, o.address, o.phone, o.email, o.comment, o.status, o.url, o.total_price, o.note FROM __orders o $where LIMIT 1"); заменяем на $query = $this->db->placehold("SELECT o.id, o.delivery_id, o.delivery_price, o.separate_delivery, o.payment_method_id, o.paid, o.payment_date, o.closed, o.discount, o.coupon_code, o.coupon_discount, o.date, o.user_id, o.name, o.address, o.phone, o.email, o.comment, o.status, o.url, o.total_price, o.note, o.delivery_number FROM __orders o $where LIMIT 1"); далее в этом же файле // Выбираем заказы $query = $this->db->placehold("SELECT o.id, o.delivery_id, o.delivery_price, o.separate_delivery, o.payment_method_id, o.paid, o.payment_date, o.closed, o.discount, o.coupon_code, o.coupon_discount, o.date, o.user_id, o.name, o.address, o.phone, o.email, o.comment, o.status, o.url, o.total_price, o.note меняем на // Выбираем заказы $query = $this->db->placehold("SELECT o.id, o.delivery_id, o.delivery_price, o.separate_delivery, o.payment_method_id, o.paid, o.payment_date, o.closed, o.discount, o.coupon_code, o.coupon_discount, o.date, o.user_id, o.name, o.address, o.phone, o.email, o.comment, o.status, o.url, o.total_price, o.note, o.delivery_number 3. /simpla/OrderAdmin.php находим строку: $order->separate_delivery = $this->request->post('separate_delivery', 'integer'); после нее вставляем: $order->delivery_number = $this->request->post('delivery_number'); 4. Открываем /simpla/design/html/order.tpl в нужном месте (я поставил в блоке доставки) ставим <li> <label class=delivery_number>Трекинг номер</label> <textarea name="delivery_number">{$order->delivery_number|escape}</textarea> </li> 5. /design/ваша тема/html/user.tplпосле строки {if $order->status == 0}ждет обработки{elseif $order->status == 1}в обработке{elseif $order->status == 2}выполнен{/if} добавляем {if $order->delivery_number}<h4>трекинг номер:</h4> {$order->delivery_number|escape}{/if}<hr> 6. /simpla/design/css/style.cssдобавим стили .block li { clear: left; display: block; overflow: hidden; margin-top: 7px; width: 500px; } .block label.delivery_number { display: block; float: left; width: 132px; clear: left; padding-top: 2px; overflow: hidden; font-size: 18px; } .block li textarea { width: 210px; height: 60px; СПАСИБО yr4ik ЗА ПОДСКАЗКУ Изменено 13 марта, 2015 пользователем yodaexolon Цитата Ссылка на сообщение Поделиться на другие сайты
drakulitkas Опубликовано 14 марта, 2015 Жалоба Поделиться Опубликовано 14 марта, 2015 Для России не подойдет? Цитата Ссылка на сообщение Поделиться на другие сайты
yodaexolon Опубликовано 15 марта, 2015 Автор Жалоба Поделиться Опубликовано 15 марта, 2015 (изменено) Для России не подойдет?Подойдет, в это поле можно записать любую информацию. Суть в том, что после того как вы отправили посылку, вы сохраняете в заказе покупателя трек номер и покупатель его видит в своем личном кабинете. Изменено 15 марта, 2015 пользователем yodaexolon Цитата Ссылка на сообщение Поделиться на другие сайты
keks Опубликовано 16 марта, 2015 Жалоба Поделиться Опубликовано 16 марта, 2015 (изменено) Спасибо за данное решение! Очень удобно :-) Для удобства клиентов, можно добавить условия: если выбрана Почта, соответственно вбивается трекер и в страничке заказа появляется чем доставляется, трекер и ссылка на почтовый сайт для отслеживания...так же и для транспортных компаний. Изменено 16 марта, 2015 пользователем keks Цитата Ссылка на сообщение Поделиться на другие сайты
den_k2 Опубликовано 17 марта, 2015 Жалоба Поделиться Опубликовано 17 марта, 2015 Можно проще{if $order->delivery_number == ""} {else}Трекинг номер: {$order->delivery_number|escape}{/if} Т.е. если поле не заполнено, то нет трекинга, и наоборот соответственно Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 17 марта, 2015 Жалоба Поделиться Опубликовано 17 марта, 2015 Еще проще:{if $order->delivery_number}Трекинг номер: {$order->delivery_number|escape}{/if}В первом посте подобное встречается. Цитата Ссылка на сообщение Поделиться на другие сайты
yodaexolon Опубликовано 17 марта, 2015 Автор Жалоба Поделиться Опубликовано 17 марта, 2015 Я сделал чтоб и на почту отправлялось письмо с трек кодом Цитата Ссылка на сообщение Поделиться на другие сайты
keks Опубликовано 17 марта, 2015 Жалоба Поделиться Опубликовано 17 марта, 2015 Я сделал чтоб и на почту отправлялось письмо с трек кодом аналогично, вчера все украсил...здорово все получилось Цитата Ссылка на сообщение Поделиться на другие сайты
larenso Опубликовано 26 апреля, 2015 Жалоба Поделиться Опубликовано 26 апреля, 2015 Я сделал чтоб и на почту отправлялось письмо с трек кодом Подскажите пожалуйста способ отправки трека на почту ) Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 26 апреля, 2015 Жалоба Поделиться Опубликовано 26 апреля, 2015 можно ли его передать смс уведомлением? Цитата Ссылка на сообщение Поделиться на другие сайты
minoxidilppua Опубликовано 27 мая, 2015 Жалоба Поделиться Опубликовано 27 мая, 2015 Все сделал как написано, но покупателю не приходит трекинг в заказе, куда копать? Цитата Ссылка на сообщение Поделиться на другие сайты
Gandalf Опубликовано 27 мая, 2015 Жалоба Поделиться Опубликовано 27 мая, 2015 (изменено) Все сделал как написано, но покупателю не приходит трекинг в заказе, куда копать?email_order.tpl {if $order->delivery_id} <tr> <td style="padding:6px; background-color:#f0f0f0; border:1px solid #e0e0e0;font-family:arial;"> Доставка </td> <td style="padding:6px; background-color:#ffffff; border:1px solid #e0e0e0;font-family:arial;"> {$delivery->name|escape} </td> </tr> {/if} {if $order->delivery_number} <tr> <td style="padding:6px; background-color:#f0f0f0; border:1px solid #e0e0e0;font-family:arial;"> Трекинг номер </td> Изменено 27 мая, 2015 пользователем Gandalf Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 1 октября, 2018 Жалоба Поделиться Опубликовано 1 октября, 2018 Подскажите пожалуйста, добавил еще форму ввода трека на странице заказов (simpla/design/html/orders.tpl). Но сохранение в базу не происходит, что необходимо добавить в orders.php чтобы заработало сохранение со страницы заказов? Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 1 октября, 2018 Жалоба Поделиться Опубликовано 1 октября, 2018 Пробую добавить case 'set_track': { foreach($ids as $id) { if(!$this->orders->close(intval($id))) $this->design->assign('message_error', 'error_closing'); else $this->orders->update_order($id, array('track', 'integer')); } break; } Но этот код не срабатывает. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 1 октября, 2018 Жалоба Поделиться Опубликовано 1 октября, 2018 Этот код прекрасно срабатывает и выполняет именно те действия, которые в нем прописаны.Если он делает не то, что Вы ожидаете, то код не виноват в том, что Вы пишете явную бессмыслицу.Пробуйте добавлять другие варианты кода. Их миллиарды и даже больше... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 1 октября, 2018 Жалоба Поделиться Опубликовано 1 октября, 2018 Код который указан в начале темы работает бесспорно!! Спасибо автору! Поле для трека появляется на странице заказа, в него можно добавить трек и т.д.. Но я хочу немного дополнить его и добавить такое же поле на странице со списком заказов (ordrers.tpl), поэтому и прошу помощи... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 1 октября, 2018 Жалоба Поделиться Опубликовано 1 октября, 2018 Цель этой доработки: оператор со сканером штрих кодов будет добавлять треки к заказам, непосредственно со страницы заказов (не входя в каждый заказ отдельно). Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Цель этой доработки: оператор со сканером штрих кодов будет добавлять треки к заказам, непосредственно со страницы заказов (не входя в каждый заказ отдельно). Тогда и код надо писать соответственно целям, а не всякую белиберду...Надо смотреть, как работают аналогичные поля в списке заказов, и по аналогии добавлять свое, но желательно не абы как, а с понятием... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Это я понимаю, только вот там нет аналогичных полей... Там из вариантов изменений заказа - это статусы заказов и метки.. Статусы заказов там меняются таким кодом: switch($this->request->post('action')) ........... ......... case 'set_status_0': { foreach($ids as $id) { if($this->orders->open(intval($id))) $this->orders->update_order($id, array('status'=>0)); } break; } Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Да, Вы правы, нет там аналогичных полей.Тогда сложнее. Надо брать аналогию со страницы товаров в админке. Хот я и там не совсем то, там поля от вариантов... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 (изменено) Я пробовал взять аналогию с шаблона settings.tpl там в принципе то что мне надо <li><label class=property>Имя сайта</label><input name="site_name" class="simpla_inp" type="text" value="{$settings->site_name|escape}" /></li> За вывод отвечает if($this->request->method('POST')) { $this->settings->site_name = $this->request->post('site_name'); .............. .............. Пробовал вставить аналогию в OrdersAdmin, но ничего не получается... $this->order->track = $this->request->post('track'); Изменено 2 октября, 2018 пользователем esistema1 Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Я пробовал взять аналогию с шаблона settings.tpl там в принципе то что мне надоКак раз там в принципе совсем НЕ то, что надо. Надо, чтоб на странице редактировалась таблица БД с произвольным списком записей... Полностью аналогичного в Simpla, похоже, совсем нет, надо все же свой код писать. Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Знать бы еще как его написать... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Победил я его! В шаблон orders.tpl <li> <label class=track>Трек</label> <input name="track[{$order->id}]" value="{$order->track|escape}"></input> </li> В OrdersAdmin.php после // Обработка действий if($this->request->method('post')) { вставляем // ТРЕКИ $track = $this->request->post('track'); foreach($track as $id=>$track) { $this->orders->update_order($id, array('track'=>$track)); } // ТРЕКИ phukortsin, спасибо за наводку )) Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.