Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

ravlex

Users
  
  • Posts

    143
  • Joined

  • Last visited

Everything posted by ravlex

  1. Я обновил его, всё равно ничего не поменялось. И даже при клике на кнопку, календарь должен выпадать под текстовым полем или над ним, а он выпадает относительно кнопки. Как быть?
  2. Спасибо, теперь только по кнопке работает, по полю - нет. А можно ли сделать чтобы и по полю срабатывало ?
  3. Скажите пожалуйста, как сделать так, чтобы календарь или время открывались по клику на сам значок а не только при клике на поле? Скрин https://yadi.sk/i/5HODYuszrsBjZ
  4. 1. Нужно чтобы цена отображалась в двух валютах. Первая в йенах а вторая в рублях. То есть везде у товара должна быть цена такого типа: Цена: 200 ¥ (300 руб.). Валюта должна конвертироваться. 2. В оформлении заказа должен быть выбор метода оплаты "Юр лицо", при выборе которого должен разворачиваться список полей для заполнения с последующей возможностью скачивания отчёта в PDF (список полей и примерный вид здесь https://docs.google.com/document/d/1rrOIdJaEBUl1cBGJVuwFk6AcgpPLditRjgXdpDXSbTQ). Есть добрые люди которые помогут это сделать? И если да, какая цена вопроса?
  5. А как отобразить кнопку формирования счета именно при выборе определенного метода оплаты?
  6. А еще вопрос... мне нужно при выборе способа оплаты "Юр лицо" выводить список полей и кнопку для генерация счета из этих полей в PDF. Есть ли у модуля такая возможность? И если нет, каким образом можно внедрить эту кнопку чтобы она появлялась конкретно в одном способе оплаты? И как забрать значения из этих полей?
  7. Мне нужно скрыть заголовок возле поля, которое я добавил из админки. Скрин https://yadi.sk/i/DAgqYCXWrq2oL Если его оставлять пустым в админке, всё равно остается идентификатор этого поля. Нужно чтобы была только звездочка и само поле.
  8. Купил модуль, начал настраивать и столкнулся с проблемой. У меня есть поля типа text с плейсхолдером, как убрать название возле самого поля? Пример: Адрес - Введите адрес (плейсхолдер поля text). Нужно убрать слово "Адрес". Жду ответа, спасибо.
  9. Скажите пожалуйста, как на opencart 2 можно реализовать подобное? В магазине есть 2 цены, в рублях и йенах, как можно вывести их вместе? Желательно без платных модулей. Спасибо.
  10. Меня интересует именно реализация меню. Я добавляю произвольные пункты, и хочу чтобы они были на нескольких языках.
  11. Скажите пожалуйста, как сделать своё меню на разных языках? Я добавил произвольные пункты меню и хочу сделать их мультиязычными.
  12. Подскажите пожалуйста, как сделать так, чтобы валюта и язык выбирался не из списков, а просто было 2 строки с инпутами radio, с возможностью переключения языка (или валюты) через них. Пример: Русский Английский Где менять я знаю, но вот сам код вставить в нужное место не получается. Заранее спасибо.
  13. Мне нужно выводить всё в личном кабинете. Вот скрин, как должно быть. То, что отмечено синим, я уже сделал. Осталось то, что ниже.
  14. Спасибо, поковырялся и получилось. Но теперь столкнулся со следующей проблемой. Нужно перенести информацию из account/order/info&order_id=1 в account/account (перенести информацию о сделанных заказах). Что вставлять в tpl, я знаю. Интересует именно код в файлах php. Подскажите, пожалуйста. Это мой account.php. <?php class ControllerAccountAccount extends Controller { public function index() { if (!$this->customer->isLogged()) { $this->session->data['redirect'] = $this->url->link('account/account', '', 'SSL'); $this->redirect($this->url->link('account/login', '', 'SSL')); } $this->language->load('account/order'); $this->load->model('account/order'); $this->language->load('account/account'); $this->document->setTitle($this->language->get('heading_title')); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_account'), 'href' => $this->url->link('account/account', '', 'SSL'), 'separator' => $this->language->get('text_separator') ); if (isset($this->request->get['order_id'])) { $order_info = $this->model_account_order->getOrder($this->request->get['order_id']); if ($order_info) { $order_products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); foreach ($order_products as $order_product) { $option_data = array(); $order_options = $this->model_account_order->getOrderOptions($this->request->get['order_id'], $order_product['order_product_id']); foreach ($order_options as $order_option) { if ($order_option['type'] == 'select' || $order_option['type'] == 'radio') { $option_data[$order_option['product_option_id']] = $order_option['product_option_value_id']; } elseif ($order_option['type'] == 'checkbox') { $option_data[$order_option['product_option_id']][] = $order_option['product_option_value_id']; } elseif ($order_option['type'] == 'text' || $order_option['type'] == 'textarea' || $order_option['type'] == 'date' || $order_option['type'] == 'datetime' || $order_option['type'] == 'time') { $option_data[$order_option['product_option_id']] = $order_option['value']; } elseif ($order_option['type'] == 'file') { $option_data[$order_option['product_option_id']] = $this->encryption->encrypt($order_option['value']); } } $this->session->data['success'] = sprintf($this->language->get('text_success'), $this->request->get['order_id']); $this->cart->add($order_product['product_id'], $order_product['quantity'], $option_data); } $this->redirect($this->url->link('checkout/cart')); } } if (isset($this->session->data['success'])) { $this->data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $this->data['success'] = ''; } $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_order_id'] = $this->language->get('text_order_id'); $this->data['text_status'] = $this->language->get('text_status'); $this->data['text_date_added'] = $this->language->get('text_date_added'); $this->data['text_customer'] = $this->language->get('text_customer'); $this->data['text_products'] = $this->language->get('text_products'); $this->data['text_total'] = $this->language->get('text_total'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_view'] = $this->language->get('button_view'); $this->data['button_reorder'] = $this->language->get('button_reorder'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['text_my_account'] = $this->language->get('text_my_account'); $this->data['text_my_orders'] = $this->language->get('text_my_orders'); $this->data['text_my_newsletter'] = $this->language->get('text_my_newsletter'); $this->data['text_edit'] = $this->language->get('text_edit'); $this->data['text_password'] = $this->language->get('text_password'); $this->data['text_address'] = $this->language->get('text_address'); $this->data['text_wishlist'] = $this->language->get('text_wishlist'); $this->data['text_order'] = $this->language->get('text_order'); $this->data['text_download'] = $this->language->get('text_download'); $this->data['text_reward'] = $this->language->get('text_reward'); $this->data['text_return'] = $this->language->get('text_return'); $this->data['text_transaction'] = $this->language->get('text_transaction'); $this->data['text_newsletter'] = $this->language->get('text_newsletter'); $this->data['edit'] = $this->url->link('account/edit', '', 'SSL'); $this->data['password'] = $this->url->link('account/password', '', 'SSL'); $this->data['address'] = $this->url->link('account/address', '', 'SSL'); $this->data['wishlist'] = $this->url->link('account/wishlist'); $this->data['order'] = $this->url->link('account/order', '', 'SSL'); $this->data['download'] = $this->url->link('account/download', '', 'SSL'); $this->data['return'] = $this->url->link('account/return', '', 'SSL'); $this->data['transaction'] = $this->url->link('account/transaction', '', 'SSL'); $this->data['newsletter'] = $this->url->link('account/newsletter', '', 'SSL'); if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } $this->data['orders'] = array(); $order_total = $this->model_account_order->getTotalOrders(); $results = $this->model_account_order->getOrders(($page - 1) * 10, 10); if ($this->config->get('reward_status')) { $this->data['reward'] = $this->url->link('account/reward', '', 'SSL'); } else { $this->data['reward'] = ''; } foreach ($results as $result) { $product_total = $this->model_account_order->getTotalOrderProductsByOrderId($result['order_id']); $voucher_total = $this->model_account_order->getTotalOrderVouchersByOrderId($result['order_id']); $this->data['orders'][] = array( 'order_id' => $result['order_id'], 'name' => $result['firstname'] . ' ' . $result['lastname'], 'status' => $result['status'], 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'products' => ($product_total + $voucher_total), 'total' => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']), 'href' => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], 'SSL'), 'reorder' => $this->url->link('account/order', 'order_id=' . $result['order_id'], 'SSL') ); } $pagination = new Pagination(); $pagination->total = $order_total; $pagination->page = $page; $pagination->limit = 10; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('account/order', 'page={page}', 'SSL'); $this->data['pagination'] = $pagination->render(); $this->data['continue'] = $this->url->link('account/account', '', 'SSL'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/order_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/account/order_list.tpl'; } else { $this->template = 'default/template/account/order_list.tpl'; } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/account.tpl')) { $this->template = $this->config->get('config_template') . '/template/account/account.tpl'; } else { $this->template = 'default/template/account/account.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } ?>
  15. Собственно, подскажите пожалуйста, как перенести историю заказов в личный кабинет? Что нужно перенести и откуда в account.php?
  16. Спасибо большое, работает. Осталось только стили настроить, но с этим я справлюсь.
  17. Вставил я этот код, но у меня ничего не получилось. Подскажите пожалуйста, как его правильно внедрить? Я уверен, что вставляю его не туда. <div id="menu"> <ul> <?php foreach ($categories as $category) { ?> <li ><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php $cl=0; ?> <?php if (isset($category['children'][$i])) { ?> <li class="<?php echo 'cli_'. $cl; $cl++; ?>"><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php if ($category['active']) { ?> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul> </div>
  18. Спасибо, завтра попробую. О результате отпишусь.
  19. Если я правильно понял, списки формируются циклом, и конкретному списку невозможно дать собственный стиль. Вот по этому я и задался вопросом, чтобы как-то разобрать это меню на 2 части.
  20. Вот что получается с позиционированием элементов.
  21. Спасибо, способ рабочий конечно, но хотелось бы как-то программно это сделать. Хотелось бы сформировать 2 списка, в соответствии с категориями.
  22. В общем как обратиться к конкретной категории и сформировать список подкатегорий?
×
×
  • 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.