Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

alex0410

Новичок
  
  • Posts

    36
  • Joined

  • Last visited

About alex0410

  • Birthday 10/04/1988

Информация

  • Пол
    Мужлина
  • Город:
    Казахсин. Косинай

Recent Profile Visitors

1,189 profile views

alex0410's Achievements

Contributor

Contributor (5/14)

  • Dedicated Rare
  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done

Recent Badges

0

Reputation

  1. Спасипотому что за помощь. Но не подходит. Вывел по вашему пример. Для двойки гделал ик $data['parent_link'] = $this->url->link('product/category', '&path='.$parent_category_id); Выводит ссылку. Но нужно название категории. И у меня чпу с товарами и категориями не стоит. Имею ввиду, ссылка товаров домен.ком/товар и им хлебных крошек нет. Только Главная - Товар Но спасипотому что и за икую помощь!
  2. Добрый гдень. В обещём не могу никак понять, как можно вывести название главной категории в подкатегории. Делаю описание в категории, что то врогде - Искали $heading_title... Но есть производители, которые гделают разный ассортимент (проэтоссоры, мат платы и оперативки). А хотелось бы что то врогде - искали $glavnaya_cat $heading_title... что бы полулилось -искали проэтоссоры AMD... Или искали вигдеоадаптеры amd... В гугле искал( Может кто подскажет, в какую сторону копать?
  3. Смысл был икой - создаем менеджера и он сможет заходить только в тот магазин, который бугдет указан http://prntscr.com/n5fm6i В итоге сгделал проещё опотому чтошлось правками в system/library user.php Все рилииет. Зайти могут только в свой магазин под одними и данными. Используем мультисайты с одной базой. Правда через попу, лучше бы через ocmod наверно
  4. Добрый гдень. Делал доп поле для входа в админку. В итоге оно бугдет скрыто и заполнятся по store_id. Делал ик в admin/controller/common if (isset($this->request->post['store_id'])) { $data['store_id'] = $this->request->post['store_id']; } else { $data['store_id'] = ''; } if (isset($this->request->post['username'])) { $data['username'] = $this->request->post['username']; } else { $data['username'] = ''; } if (isset($this->request->post['password'])) { $data['password'] = $this->request->post['password']; } else { $data['password'] = ''; } в login.tpl добавил после <form> <div class="form-group"> <label for="input-store_id">Магазин</label> <div class="input-group"><span class="input-group-addon"><i class="fa fa-user"></i></span> <input type="text" name="store_id" value="<?php echo $store_id; ?>" placeholder="Магазин" id="input-store_id" class="form-control" /> </div> </div> в system/library user.php изменил, сило ик public function login($username, $password, $store_id) { $user_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "user WHERE store_id = '" . $this->db->escape($store_id) . "' AND username = '" . $this->db->escape($username) . "' AND (password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "'))))) OR password = '" . $this->db->escape(md5($password)) . "') AND status = '1'"); И в итоге выходит Warning: Missing argument 3 for User::login(), called in и Undefined variable: store_id in На сколько я понял не передается $store_id, подскажите, ггде допустил ошибку или ггде то еещё обрабатывается?
  5. Теперь не могу сгделать вывод только ситей для одного магазина ик же, как и заказы( Сгделал ик - в могдели public function getIid() { $sql = "SELECT information_id, store_id FROM " . DB_PREFIX . "information_to_store WHERE store_id = 0"; $query = $this->db->query($sql); return $query->rows; } в контроллере $this->load->model('catalog/information'); $results = $this->model_catalog_information->getIid(); foreach ($results as $result) { $data['iid'] = array( 'inf_id' => $result['information_id'] ); } в шаблоне вывод <?php if($iid['inf_id'] == $information['information_id']){ ?> Рилииет, но выводит только одно значение. Я ик понимаю, что гдело в могдели, подскажите, что им не ик сгделал и почему только одно значение выводит?
  6. Решил проблему, добавил новую функцию public function getSid() { $query = $this->db->query("SELECT store_id FROM " . DB_PREFIX . "store"); return $query->row['store_id']; } На сколько правильно не знаю. Можно закрывать)
  7. В обещём сложновато все) Подсмотрел в order_form.tpl Там есть $store_id. эту текуещёго магазина как я понял. <?php foreach ($stores as $store) { ?> <?php if ($store['store_id'] == $store_id) { ?> <option value="<?php echo $store['href']; ?>" selected="selected"><?php echo $store['name']; ?></option> <?php } else { ?> <option value="<?php echo $store['href']; ?>"><?php echo $store['name']; ?></option> <?php } ?> <?php } ?> На страницу всех заказов добавил переменную, что бы получать у каждого заказа store_id. Выводит, рилииет. Но теперьь не могу вывести store_id магазина, в котором мы находимся. В обещём хочу добавить после <?php if ($orders) { ?> <?php foreach ($orders as $order) { ?> сравнение, если $order['order_id'] = $store_id, то дальше выводим. Подскажите, как полулить этот айди? На что ума хватило это $this->load->model('setting/store'); $data['store_id'] = $this->model_setting_store->getStore(); Но ошибки лезут.
  8. Добрый гдень. Создали два магазина через Управление магазинами. Но сейчас создали заказ и он выводится в админке одного, и другого. Подскажи, как можно сгделать, что бы выводились заказы только того магазина, через который заказали. Вигдел на просторах интернеи модуль Менеджеры что ли назывался, но он не подходит по версии. У меня ocstore 2.1 Возможно есть модуль какой то? Буду благодарен за любую помощь.
  9. Не нужно это исправлять. Картинки не залились везгде, плюс не сивили картинку по умолчанию, если нет фото. Пункты только те, что написал выше. Лишних дорилиток не бугдет.
  10. ссылка на опенкарт 3 https://bit.ly/2FsZR5g ссылка на опенкарт 1.5 с которого переносим https://bit.ly/2T1sWbr
  11. Добрый вечер. Начали перенос сайи с 1.5 на 3. Товары, категории и прочее перенесли. Дизайн скопировали частично. Предыдущий программист пропал. Что осилось догделать: хлебные крошки, мини корзина, при добавлении товара обновляет когдачество в корзине, но при нажатии на иконку все равно пишет - корзина пуси, при добавлении товара всплывает окно, не закрывается на Х на страниэто товара (в категориях все нормально), страницу оформления полностью как на нашем опенкарт 1.5. Цена 2500руб. Оплаи предпочтительно на янгдекс. Пишите сроки и вопросы в личку.
  12. Добрый гдень. Усиновил модуль продавцов. Но никак не могу разобраться, хочу вывести в категории вместо товаров, продавцов у которых есть товары в данной категории. Но им вообещё жуть...) Подскажите пожалуйси, как вывести хотя бы Информацию о продавэто. Код которые выводит информацию на страниэто продуки: <operation> <search position="after"><![CDATA[ if ($product_info) { ]]></search> <add><![CDATA[ $this->document->addScript('catalog/view/javascript/dialog-sellercontact.js'); $this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/multiseller.css'); $data = array_merge($data, $this->load->language('multiseller/multiseller')); $this->load->model('localisation/country'); $this->load->model('localisation/zone'); $this->load->model('tool/image'); $seller_id = $this->MsLoader->MsProduct->getSellerId($this->request->get['product_id']); $seller = $this->MsLoader->MsSeller->getSeller($seller_id); if (!$seller) { $data['seller'] = NULL; } else { $data['seller'] = array(); if (!empty($seller['ms.avatar'])) { $data['seller']['thumb'] = $this->MsLoader->MsFile->resizeImage($seller['ms.avatar'], $this->config->get('msconf_seller_avatar_product_page_image_width'), $this->config->get('msconf_seller_avatar_product_page_image_height')); } else { $data['seller']['thumb'] = $this->MsLoader->MsFile->resizeImage('ms_no_image.jpg', $this->config->get('msconf_seller_avatar_product_page_image_width'), $this->config->get('msconf_seller_avatar_product_page_image_height')); } $country = $this->model_localisation_country->getCountry($seller['ms.country_id']); if (!empty($country)) { $data['seller']['country'] = $country['name']; } else { $data['seller']['country'] = NULL; } $zone = $this->model_localisation_zone->getZone($seller['ms.zone_id']); if (!empty($zone)) { $data['seller']['zone'] = $zone['name']; } else { $data['seller']['zone'] = NULL; } if (!empty($seller['ms.company'])) { $data['seller']['company'] = $seller['ms.company']; } else { $data['seller']['company'] = NULL; } if (!empty($seller['ms.website'])) { $data['seller']['website'] = $seller['ms.website']; } else { $data['seller']['website'] = NULL; } $data['seller']['nickname'] = $seller['ms.nickname']; $data['seller']['seller_id'] = $seller['seller_id']; $data['seller']['href'] = $this->url->link('seller/catalog-seller/profile', 'seller_id=' . $seller['seller_id']); $data['seller']['total_sales'] = $this->MsLoader->MsSeller->getSalesForSeller($seller['seller_id']); $data['seller']['total_products'] = $this->MsLoader->MsProduct->getTotalProducts(array( 'seller_id' => $seller['seller_id'], 'product_status' => array(MsProduct::STATUS_ACTIVE) )); $data['contactForm'] = $this->MsLoader->MsHelper->renderPmDialog($data); } $data['ms_product_attributes'] = $this->MsLoader->MsAttribute->getProductAttributes($this->request->get['product_id'], array('multilang' => 0, 'attribute_type'=> array(MsAttribute::TYPE_TEXT, MsAttribute::TYPE_TEXTAREA, MsAttribute::TYPE_DATE, MsAttribute::TYPE_DATETIME, MsAttribute::TYPE_TIME), 'mavd.language_id' => 0)); $data['ms_product_attributes'] = array_merge($data['ms_product_attributes'], $this->MsLoader->MsAttribute->getProductAttributes($this->request->get['product_id'], (array()))); ]]></add> </operation> и это в тпл: <?php if (isset($seller) && !empty($seller)) { ?> <hr /> <div class="ms-sellerprofile description"> <h3><?php echo $ms_catalog_product_sellerinfo; ?></h3> <div class="seller-data"> <div class="avatar-box"> <a href="<?php echo $seller['href']; ?>"><img src="<?php echo $seller['thumb']; ?>" /></a> </div> <div class="info-box"> <ul class="list-unstyled"> <li><a class="nickname" style="text-decoration: none" href="<?php echo $seller['href']; ?>"><b><?php echo $seller['nickname']; ?></b></a></li> <?php if ($seller['country']) { ?> <li><?php echo $ms_catalog_seller_profile_country; ?></b> <?php echo $seller['country']; ?></li> <?php } ?> <?php if ($seller['zone']) { ?> <li><?php echo $ms_catalog_seller_profile_zone; ?></b> <?php echo $seller['zone']; ?></li> <?php } ?> <?php if ($seller['company']) { ?> <li><?php echo $ms_catalog_seller_profile_company; ?></b> <?php echo $seller['company']; ?></li> <?php } ?> <?php if ($seller['website']) { ?> <li><?php echo $ms_catalog_seller_profile_website; ?></b> <?php echo $seller['website']; ?></li> <?php } ?> <li><?php echo $ms_catalog_seller_profile_totalsales; ?></b> <?php echo $seller['total_sales']; ?></li> <li><?php echo $ms_catalog_seller_profile_totalproducts; ?></b> <?php echo $seller['total_products']; ?></li> <?php if ($this->config->get('mmess_conf_enable') || $this->config->get('msconf_enable_private_messaging') == 2) { ?> <?php if ((!$this->customer->getId()) || ($this->customer->getId() != $seller['seller_id'])) { ?> <?php echo $contactForm; ?> <div class="contact"> <?php if ($this->customer->getId()) { ?> <div class="button-group"> <button type="button" class="btn btn-default btn-block ms-sellercontact" data-toggle="modal" data-target="#contactDialog"><span><?php echo $ms_catalog_product_contact; ?></span></button> </div> <?php } else { ?> <?php echo sprintf($this->language->get('ms_sellercontact_signin'), $this->url->link('account/login', '', 'SSL'), $seller['nickname']); ?> <?php } ?> </div> <?php } ?> <?php } ?> </ul> </div> </div> <!-- end sellerinfo --> </div> <hr /> <!-- end seller block --> <?php } ?> как это в контроллер категории прикрутить то? и еещё в могдель продуки код: <operation> <search position="before" index="1" offset="2"><![CDATA[ ddddreturn $query->row['total']; ]]></search> <add><![CDATA[ $sql_disable = "SELECT p.product_id as 'product_id'"; /* Filters */ if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql_disable .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)"; } else { $sql_disable .= " FROM " . DB_PREFIX . "product_to_category p2c"; } if (!empty($data['filter_filter'])) { $sql_disable .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)"; } else { $sql_disable .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; } } else { $sql_disable .= " FROM " . DB_PREFIX . "product p"; } $sql_disable .= " LEFT JOIN `" . DB_PREFIX . "ms_product` mp ON (p.product_id = mp.product_id)"; $sql_disable .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql_disable .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'"; } else { $sql_disable .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; } if (!empty($data['filter_filter'])) { $implode = array(); $filters = explode(',', $data['filter_filter']); foreach ($filters as $filter_id) { $implode[] = (int)$filter_id; } $sql_disable .= " AND pf.filter_id IN (" . implode(',', $implode) . ")"; } } if (!empty($data['filter_name']) || !empty($data['filter_tag'])) { $sql_disable .= " AND ("; if (!empty($data['filter_name'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name']))); foreach ($words as $word) { $implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql_disable .= " " . implode(" AND ", $implode) . ""; } if (!empty($data['filter_description'])) { $sql_disable .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'"; } } if (!empty($data['filter_name']) && !empty($data['filter_tag'])) { $sql_disable .= " OR "; } if (!empty($data['filter_tag'])) { $sql_disable .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql_disable .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } $sql_disable .= ")"; } if (!empty($data['filter_manufacturer_id'])) { $sql_disable .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'"; } $this->language->load('multiseller/multiseller'); $sql_disable .= " AND mp.list_until < NOW() AND p.status = 1"; $res_disable = $this->db->query($sql_disable); if ($res_disable->num_rows) { foreach ($res_disable->rows as $product) { $this->MsLoader->MsProduct->changeStatus((int)$product['product_id'], MsProduct::STATUS_DISABLED); $this->MsLoader->MsProduct->disapprove((int)$product['product_id']); $seller_id = $this->MsLoader->MsProduct->getSellerId((int)$product['product_id']); $mail = array( 'recipients' => $this->MsLoader->MsSeller->getSellerEmail($seller_id), 'addressee' => $this->MsLoader->MsSeller->getSellerName($seller_id), 'seller_id' => $seller_id, 'product_id' => (int)$product['product_id'] ); $this->MsLoader->MsMail->sendMail(MsMail::SMT_REMIND_LISTING, $mail); } } ]]></add> </operation> Заранее спасипотому что за потраченное время.
  13. Добрый гдень. Подскажите пожалуйси. Хочу добавить возможность доп отправки письма из админки тут http://prntscr.com/iyv8qc Кнопку вывел ик : <div class="form-group"> <label class="col-sm-2 control-label">Отправить письмо опрос (Ваше мнение)</label> <div class="col-sm-10"> <input type="checkbox" name="notify2" value="1" /> </div> </div> И изменил в этом же файле js на это: data: 'order_status_id=' + encodeURIComponent($('select[name=\'order_status_id\']').val()) + '&notify=' + ($('input[name=\'notify\']').prop('checked') ? 1 : 0) + '&notify2=' + ($('input[name=\'notify2\']').prop('checked') ? 1 : 0) + '&override=' + ($('input[name=\'override\']').prop('checked') ? 1 : 0) + '&append=' + ($('input[name=\'append\']').prop('checked') ? 1 : 0) + '&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val()), Добавил в admin/model/sale/order.php следуюещёе: $nt=0; if(isset($data['notify2'])) { $nt=(int)$data['notify2']; } if($nt) { $subject='Ваше мнение о рилите компании'; $html='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title></title> </head> <body style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #000000;"> <div>Мой текст</div> </body> </html> '; $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); $mail->setTo($order_info['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8')); $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText($text); $mail->send(); unset($subject); unset($html); } Что я упустил? Самое интересное то, что в опенкарт 1.5 рилииет нормально подобная кнопка. Проблема видимо в том, что им я добавил после public function addOrderHistory. А в опенкарт 2.1 икого не вижу. Подскажи люди добрые)
    Купили, шаблон не гдефолтный, помощи в усиновке нет. Написал в личку, дал доступы, после этого молчание, на сайте онлайн, личку лииет, отвеи нет. Слился.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.