Smartycms Опубликовано 21 февраля, 2017 Жалоба Поделиться Опубликовано 21 февраля, 2017 (изменено) Запрос в БД ALTER TABLE `s_payment_methods` ADD `image` VARCHAR(255) NOT NULL AFTER`name`; simpla/design/html/payment_method.tpl перед </script>вставить $(".images a.delete").click( function() { $("input[name='delete_image']").val('1'); $(this).closest("ul").fadeOut(200, function() { $(this).remove(); }); return false; }); После <!-- Правая колонка --> <div id="column_right">Вставить <!-- Изображение метода --> <div class="block layer images"> <h2>Изображение метода</h2> <input class='upload_image' name=image type=file> <input type=hidden name="delete_image" value=""> {if $payment_method->image} <ul> <li> <a href='#' class="delete"><img src='design/images/cross-circle-frame.png'></a> <img src="../{$config->payment_method_images_dir}{$payment_method->image}" alt="" /> </li> </ul> {/if} </div> simpla/PaymentMethodAdmin.php после class PaymentMethodAdmin extends Simpla { вставляем private $allowed_image_extentions = array('png', 'gif', 'jpg', 'jpeg', 'ico'); После if($payment_method->id) { $this->payment->update_payment_settings($payment_method->id, $payment_settings); $this->payment->update_payment_deliveries($payment_method->id, $payment_deliveries); }Вставляем // Удаление изображения if($this->request->post('delete_image')) { $this->payment->delete_image($payment_method->id); } // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { $this->payment->delete_image($payment_method->id); move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->payment_method_images_dir.$image['name']); $this->payment->update_payment_method($payment_method->id, array('image'=>$image['name'])); } $payment_method = $this->payment->get_payment_method(intval($payment_method->id)); api/Payment.php Найдем $query = $this->db->placehold("DELETE FROM __delivery_payment WHERE payment_method_id=?", intval($id));Ниже вставим $this->delete_image($id); В самом конце файла перед }Пишем // Удалить изображение public function delete_image($id) { $id = (array) $id; $query = $this->db->placehold("SELECT image FROM __payment_methods WHERE id in(?@)", $id); $this->db->query($query); $filenames = $this->db->results('image'); if(!empty($filenames)) { $query = $this->db->placehold("UPDATE __payment_methods SET image=NULL WHERE id in(?@)", $id); $this->db->query($query); foreach($filenames as $filename) { $query = $this->db->placehold("SELECT count(*) as count FROM __payment_methods WHERE image=?", $filename); $this->db->query($query); $count = $this->db->result('count'); if($count == 0) { @unlink($this->config->root_dir.$this->config->payment_method_images_dir.$filename); } } } } config/confing.php Найдем ;Изображения категорий categories_images_dir = files/categories/;Ниже вставим ;Изображения методов оплаты payment_method_images_dir = files/payment/; Создаем папку payment в директории /files и устанавливаем права 777 В шаблоне выводим так: {if $payment_method->image}<img src="../{$config->payment_method_images_dir}{$payment_method->image}" alt="{$payment_method->name}" />{/if} Для вариантов доставки делаем полностью по аналогии, только в api/Delivery.php нужно после name, вставить Image, в 2-ух местах. P.S. Жду пока Shift перенесет тему в соответствующий раздел. Изменено 21 февраля, 2017 пользователем smartycms Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 21 февраля, 2017 Жалоба Поделиться Опубликовано 21 февраля, 2017 Ну было уже, зачем дублировать? Цитата Ссылка на сообщение Поделиться на другие сайты
Smartycms Опубликовано 21 февраля, 2017 Автор Жалоба Поделиться Опубликовано 21 февраля, 2017 Ну было уже, зачем дублировать? Там я отвечал человеку на вопрос, а эту тему хотел-бы разместить в разделе "готовые решения", думаю многим пригодится Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 21 февраля, 2017 Жалоба Поделиться Опубликовано 21 февраля, 2017 Там я отвечал человеку на вопрос, а эту тему хотел-бы разместить в разделе "готовые решения", думаю многим пригодитсяТочно Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 29 ноября, 2017 Жалоба Поделиться Опубликовано 29 ноября, 2017 Спасибо за решение.Не подскажите как вывести изображения доставки и оплаты на странице заказа? в order.tpl Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 29 ноября, 2017 Жалоба Поделиться Опубликовано 29 ноября, 2017 Спасибо за решение.Не подскажите как вывести изображения доставки и оплаты на странице заказа? в order.tpl в первом посте В шаблоне выводим так: Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 29 ноября, 2017 Жалоба Поделиться Опубликовано 29 ноября, 2017 в первом посте В шаблоне выводим так: Не выводит,в том то и дело.Именно в order.tpl Цитата Ссылка на сообщение Поделиться на другие сайты
miltonmors Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 Не выводит,в том то и дело.Именно в order.tpl А это уж смотря какой order.tpl ...То, что автор написал в этом пункте инструкции, работает для order.tpl в админке.А если надо на сайте, пробуйте так: src="{$config->payment_method_images_dir}{$payment_method->image}" Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 А это уж смотря какой order.tpl ...То, что автор написал в этом пункте инструкции, работает для order.tpl в админке.А если надо на сайте, пробуйте так: src="{$config->payment_method_images_dir}{$payment_method->image}"На сайте,не в админке.Так и стоит,а точнее: {if $payment_method->image} <img src="../{$config->payment_method_images_dir}{$payment_method->image}"> {else} <img src="design/{$settings->theme}/images/no-pay.png"> {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 Попробуйте вот это удалить: ../ Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 Попробуйте вот это удалить: ../ Нет,само условие не срабатывает,выводит на всех списках оплаты и доставки <img src="design/{$settings->theme}/images/no-pay.png"> Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 Значит, надо распечатать $payment_method и посмотреть, есть ли у него image Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 Значит, надо распечатать $payment_method и посмотреть, есть ли у него imageНе понял.На странице корзины всё работает. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 И что?Это разные модули, причем тут вообще Корзина?? Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 30 ноября, 2017 Жалоба Поделиться Опубликовано 30 ноября, 2017 И что?Это разные модули, причем тут вообще Корзина??Да,я это понимаю.Я пробовал в /api/Orders.php добавить o.image в выборку с базы,в функции get_order и get_orders но тогда страницы заказов вообще не открываются.Видимо не совсем понимаю как должно работать. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.