Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

AnnaBez

Новачок
  
  • Публікації

    24
  • З нами

  • Відвідування

Усі публікації користувача AnnaBez

  1. Я нашла в моем коде ошибку, не связанную с библиотекой, так что вопрос закрыт.
  2. Да, подключала, работает, но только если просто создать html, а я хотела чтобы с view взять html $html = '<html> <body> <div>Привет</div> </body> </html>';
  3. В контроллере я добавила функцию и попыталась html с данными из view сделать pdf, но ничего не выходит. Подскажите что я делаю не так? public function pdf_invoice($html){ $dompdf = new Dompdf(); $dompdf->loadHtml($html, 'UTF-8'); $dompdf->setPaper('A4', 'portrait'); $dompdf->render(); // Вывод файла в браузер: $dompdf->stream('my.pdf',array('Attachment'=>0)); } public function index() { ... $this->pdf_invoice($this->load->view('extension/payment/invoice', $data)); }
  4. Да, ведь доставка будет идти с разных складов и посылки приедут по отдельности.
  5. @chukcha, доставку организовывает сам продавец, поэтому покупатель будет отслеживать трек-номера этих заказов в личном кабинете, поэтому такая потребность возникла.
  6. Всем привет! В корзине есть товар 1 с продавцом id = 9 и товар 2 с продавцом id = 15, я хочу чтобы после нажатии кнопки оформить заказ создавался не один заказ, а два. Один принадлежит продавцу id = 9, другой id = 15. В модуле simplecheckout в контроллере simplecheckout.php нашла вызов метода order() который создает заказ. Вместо этого $order_id = $this->order(); Написала это $this->load->model('catalog/product'); $products_sellers = $this->model_catalog_product->getProductStoreSessionCart($this->session->getId()); foreach ($products_sellers as $product_seller) { $order_id = $this->order($product_seller['seller_id']); } Ну и сам метод подправила. private function order($seller_id) { ... $data['seller_id'] = $seller_id; ... } По идее в моделе seller_id успешно добавляется в колонку бд, но заказ все равно создается один заказ, а не два. class ModelCheckoutOrder extends Model { public function addOrder($data) { $this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape($data['invoice_prefix']) . "', seller_id = '" . (int)$data['seller_id'] . "', .........."); } У кого есть какие-нибудь идеи? В тупике уже какой день =(
  7. Привет! Может быть кто сталкивался мне нужно чтобы если счет оплатил юр лицо, то статус заказа на сайте менялся на 'оплачен'. Я знаю, что так можно сделать с помощью модуля обмена с 1С. Но такой обмен человек будет выполнять раз в сутки, что неудобно. Рассматривала вариант api c банком, но не уверенна безопасно ли это. Есть у кого какие идеи?
  8. А если оплата только по счету для юр.лиц будет? То есть выставлен общий счет, покупатель оплачивает и 1С по всем заказам меняет статус "оплачено". Нюанс не отпадает?
  9. Всем привет! Как думаете, как можно реализовать такую идею, Например в корзине лежат товары трех производителей, при оформлении заказа выходит один заказ №120, а мне нужно чтобы было три разных заказа №121, №122, №123.То есть заказ разделился бы. У меня пал глаз на реализацию в model/checkout/order.php То есть добавила в insert "manufacture_id = '".(int)$product['manufacture_id']."'," и переместила запрос в foreach <?php class ModelCheckoutOrder extends Model { public function addOrder($data) { // Products if (isset($data['products'])) { foreach ($data['products'] as $product) { /*мои доработки*/ $this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape($data['invoice_prefix']) . "', store_id = '" . (int)$data['store_id'] . "', manufacture_id = '".(int)$product['manufacture_id']."', store_name = '" . $this->db->escape($data['store_name']) . "', store_url = '" . $this->db->escape($data['store_url']) . "', customer_id = '" . (int)$data['customer_id'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']) ? json_encode($data['custom_field']) : '') . "', payment_firstname = '" . $this->db->escape($data['payment_firstname']) . "', payment_lastname = '" . $this->db->escape($data['payment_lastname']) . "', payment_company = '" . $this->db->escape($data['payment_company']) . "', payment_address_1 = '" . $this->db->escape($data['payment_address_1']) . "', payment_address_2 = '" . $this->db->escape($data['payment_address_2']) . "', payment_city = '" . $this->db->escape($data['payment_city']) . "', payment_postcode = '" . $this->db->escape($data['payment_postcode']) . "', payment_country = '" . $this->db->escape($data['payment_country']) . "', payment_country_id = '" . (int)$data['payment_country_id'] . "', payment_zone = '" . $this->db->escape($data['payment_zone']) . "', payment_zone_id = '" . (int)$data['payment_zone_id'] . "', payment_address_format = '" . $this->db->escape($data['payment_address_format']) . "', payment_custom_field = '" . $this->db->escape(isset($data['payment_custom_field']) ? json_encode($data['payment_custom_field']) : '') . "', payment_method = '" . $this->db->escape($data['payment_method']) . "', payment_code = '" . $this->db->escape($data['payment_code']) . "', shipping_firstname = '" . $this->db->escape($data['shipping_firstname']) . "', shipping_lastname = '" . $this->db->escape($data['shipping_lastname']) . "', shipping_company = '" . $this->db->escape($data['shipping_company']) . "', shipping_address_1 = '" . $this->db->escape($data['shipping_address_1']) . "', shipping_address_2 = '" . $this->db->escape($data['shipping_address_2']) . "', shipping_city = '" . $this->db->escape($data['shipping_city']) . "', shipping_postcode = '" . $this->db->escape($data['shipping_postcode']) . "', shipping_country = '" . $this->db->escape($data['shipping_country']) . "', shipping_country_id = '" . (int)$data['shipping_country_id'] . "', shipping_zone = '" . $this->db->escape($data['shipping_zone']) . "', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . "', shipping_address_format = '" . $this->db->escape($data['shipping_address_format']) . "', shipping_custom_field = '" . $this->db->escape(isset($data['shipping_custom_field']) ? json_encode($data['shipping_custom_field']) : '') . "', shipping_method = '" . $this->db->escape($data['shipping_method']) . "', shipping_code = '" . $this->db->escape($data['shipping_code']) . "', comment = '" . $this->db->escape($data['comment']) . "', total = '" . (float)$data['total'] . "', affiliate_id = '" . (int)$data['affiliate_id'] . "', commission = '" . (float)$data['commission'] . "', marketing_id = '" . (int)$data['marketing_id'] . "', tracking = '" . $this->db->escape($data['tracking']) . "', language_id = '" . (int)$data['language_id'] . "', currency_id = '" . (int)$data['currency_id'] . "', currency_code = '" . $this->db->escape($data['currency_code']) . "', currency_value = '" . (float)$data['currency_value'] . "', ip = '" . $this->db->escape($data['ip']) . "', forwarded_ip = '" . $this->db->escape($data['forwarded_ip']) . "', user_agent = '" . $this->db->escape($data['user_agent']) . "', accept_language = '" . $this->db->escape($data['accept_language']) . "', date_added = NOW(), date_modified = NOW()"); /*end*/ $order_id = $this->db->getLastId(); $this->db->query("INSERT INTO " . DB_PREFIX . "order_product SET order_id = '" . (int)$order_id . "', product_id = '" . (int)$product['product_id'] . "', name = '" . $this->db->escape($product['name']) . "', model = '" . $this->db->escape($product['model']) . "', quantity = '" . (int)$product['quantity'] . "', price = '" . (float)$product['price'] . "', total = '" . (float)$product['total'] . "', tax = '" . (float)$product['tax'] . "', reward = '" . (int)$product['reward'] . "'"); $order_product_id = $this->db->getLastId(); foreach ($product['option'] as $option) { $this->db->query("INSERT INTO " . DB_PREFIX . "order_option SET order_id = '" . (int)$order_id . "', order_product_id = '" . (int)$order_product_id . "', product_option_id = '" . (int)$option['product_option_id'] . "', product_option_value_id = '" . (int)$option['product_option_value_id'] . "', name = '" . $this->db->escape($option['name']) . "', `value` = '" . $this->db->escape($option['value']) . "', `type` = '" . $this->db->escape($option['type']) . "'"); } } } // Gift Voucher $this->load->model('extension/total/voucher'); Либо что-то в контроллере делать controller/checkout/simplechekout.php private function order() { // .... $this->load->model('checkout/order'); $order_id = 0; $customInfo = $this->simplecheckout->getCustomFields(array('customer', 'payment_address', 'payment', 'shipping_address', 'shipping'), 'order'); $data = array_merge($customInfo, $data); if ($version < 152) { $order_id = $this->model_checkout_order->create($data); // Gift Voucher if (isset($this->session->data['vouchers']) && is_array($this->session->data['vouchers'])) { $this->load->model('checkout/voucher'); foreach ($this->session->data['vouchers'] as $voucher) { $this->model_checkout_voucher->addVoucher($order_id, $voucher); } } } elseif ($version >= 152) { $order_id = $this->model_checkout_order->addOrder($data); } $this->session->data['order_id'] = $order_id; $this->simplecheckout->saveCustomFields(array('customer', 'payment_address', 'payment', 'shipping_address', 'shipping'), 'order', $order_id); $simple_cart_id = !empty($this->session->data['simple_cart_id']) ? $this->session->data['simple_cart_id'] : 0; if ($simple_cart_id) { $this->load->model('tool/simpleapi'); $this->model_tool_simpleapi->deleteAbandonedCart($simple_cart_id); } return $order_id; } В $order_id = $this->model_checkout_order->addOrder($data); здесь как раз вызывается метод, и я думаю может быть здесь можно разделить заказы по производителям. На этом все мои догадки кончились. Буду благодарна услышать подсказку. OpenCart 3.0.2
  10. Я не могу зайти в админку, после ввода пароля и логина выходит такая ошибка
  11. Warning: Invalid argument supplied for foreach() in /var/www/www-root/data/www/storage/modification/system/engine/loader.php on line 83Notice: Undefined property: Proxy::getTotalOrders in /var/www/www-root/data/www/storage/modification/system/engine/action.php on line 79 Восстанавливала бэкапы, очищала кэш, удаляла руками файлы модуля и не понятно что с этим делать. Может кто знает как это решить ?
  12. Здравствуйте! Возможно ли сделать фильтр по цене вот так? Или это только самостоятельно кастомизировать модуль фильтра?
  13. типо маркетплейса в котором продавцы продают свои товары
  14. Всем добрый день. Моя задача состоит в том, чтобы в корзине товары у которых общий продавец были сгруппированы. На скриншоте пример. Это контроллер simplecheckout_cart.php foreach ($products as $product) { $product_store = $this->model_catalog_product->getStorename($product['product_id']); ...... $this->_templateData['products'][$product_store] = array( 'store_name' => $product_store, 'key' => isset($product['key']) ? $product['key'] : '', 'cart_id' => isset($product['cart_id']) ? $product['cart_id'] : '', 'thumb' => $image, 'name' => $product['name'], 'model' => $product['model'], 'minimum' => $product['minimum'], 'option' => $option_data, 'recurring' => $recurring, 'quantity' => $product['quantity'], 'stock' => $product['stock'] ? true : !(!$this->config->get('config_stock_checkout') || $this->config->get('config_stock_warning')), 'reward' => ($product['reward'] ? sprintf($this->language->get('text_points'), $product['reward']) : ''), 'price' => $price, 'total' => $total, 'href' => $this->url->link('product/product', 'product_id=' . $product['product_id']) ); } А это simplecheckout_cart.twig {% for product_store in products %} Продавец {{ product_store['store_name'] }} {% for product in products %} ..... /* здесь стандартный вывод товара*/ {% endfor %} {% endfor %} Это не работает, как надо. Второй скриншот
  15. Совсем недавно погрузилась в OpenCart. Базовые знания есть по php, html, css. Так вот как вы смогли понять всю систему, логику OpenCart, смогли разрабатывать свои модули, простые и сложные? Что нужно изучить? Может быть какие-то курсы есть? Поделитесь советами новичку в этом деле =)
  16. {% for product in products %} <div class="product-block"> <div class="product-left"> <div class="store_name"> {% if product['store_name'] not in products %} Продавец {{ product['store_name'] }} {% endif %} </div> <div class="image "> {% if product['thumb'] %} <a href="{{ product['href'] }}"><img src="{{ product['thumb'] }}" alt="{{ product['name'] }}" title="{{ product['name'] }}" /></a> {% endif %} </div> </div> <div class="product-right"> <div class="name"> <a href="{{ product['href'] }}">{{ product['name'] }}</a> </div> </div> </div> {% endfor %} Массив выводит данные о товарах в корзине. Я пыталась что-то сделать наподобие этого, чтобы не выводились дубликаты массива {% if product['store_name'] not in products %} Продавец {{ product['store_name'] }} {% endif %} Есть функция в PHP array_unique(); Но не нашла как ее в twig использовать. Может быть кто подскажет ?
  17. Попробовала как вы сказали. Но вышла ошибка Undefined index: store_name in /model/catalog/product.php on line 12
  18. Попробовала как вы сказали. Но вышла ошибка Undefined index: store_name in /model/catalog/product.php on line 12
  19. В моделе catalog/product пытаюсь вывести значение store_name. Задача состоит в том, чтобы в корзине у каждого продукта вывести название продавца. public function getStorename($product_id){ $product_store_1 = $this->db->query("SELECT store_name FROM " . DB_PREFIX . "purpletree_vendor_stores WHERE seller_id = (SELECT seller_id FROM " . DB_PREFIX . "purpletree_vendor_products WHERE product_id = '.$product_id.')"); return $product_store_1; } в контроллере simplecheckout $this->load->model('catalog/product'); $product_store = $this->model_catalog_product->getStorename('store_name'); .... $this->_templateData['products'][] = array( 'store_name' => $product_store, .... ); И наконец в view Продавец {{ store_name }} Но в корзине выдает ошибку "Unknown: Object of class stdClass could not be converted to string in". Помогите пожалуйста как решить проблему.
  20. Это в контроллере "product/product". А брала куски кода из контроллера sellerstore
  21. Доброй ночи, ребят. В отчаянии прошу у вас совета. У меня маркетплейс. На детальной странице продукта мне нужно было вывести адрес склада продавца. Получилось, но не смотря на то, что переменная $store_detail нигде не объявлена в контроллере "product/product" почему-то вывелось. Мне нужно было вывести адрес склада продавца еще в корзине у каждого товара. Аналогично сделала в контроллере /simplecheckout_cart/, но тут уже пишет ошибку, что $store_detail не найдена. Думаю ладно. В контроллере "product/product" вызываются модели. Поискала в моделях эту переменную и не нашла. $this->load->model('extension/purpletree_multivendor/vendor'); $data['store_address'] = html_entity_decode($store_detail['store_address'], ENT_QUOTES, 'UTF-8'); $store_address = $data['store_address']; $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $rating, 'store_address' => $store_address, 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']) );

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.