yanadp Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 Так может в этом и проблема? :) Я не проверял этот модуль с шаблоном, но сомневаюсь что он так рвет верстку А в чем проявляется некорректность ее работы сейчас, кроме уменьшения ширины страницы с целью недопущения горизонтальной прокрутки у владельцев экранов шириной 1024 рх? Футер #footer { border-top: 3px solid #A9896D; background: #d6ad8a; } #footer a { color: #eee; } Картинку вмиесто цвета фона вы можете выставить в настройках шаблона на вкладке Темы Заглушка должна быть, с ней могут быть проблемы при условии, что вы вносили изменения в файл catalog/controller/product/product.php или вы не обновили вкмод-файл с последней версии шаблона, если никаких таких действий не было, то покажите код файла vqmod\vqcache\vq2-catalog_controller_product_product.php добрый день. Посмотрите, пожалуйста Вот catalog/controller/product/product.php class ControllerProductProduct extends Controller { private $error = array(); public function index() { $this->language->load('product/product'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->load->model('catalog/category'); if (isset($this->request->get['path'])) { $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = $path_id; } else { $path .= '_' . $path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path), 'separator' => $this->language->get('text_separator') ); } } // Set the last category breadcrumb $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); } } $this->load->model('catalog/manufacturer'); if (isset($this->request->get['manufacturer_id'])) { $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']); if ($manufacturer_info) { $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); } } if (isset($this->request->get['search']) || isset($this->request->get['tag'])) { $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . $this->request->get['search']; } if (isset($this->request->get['tag'])) { $url .= '&tag=' . $this->request->get['tag']; } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_search'), 'href' => $this->url->link('product/search', $url), 'separator' => $this->language->get('text_separator') ); } if (isset($this->request->get['product_id'])) { $product_id = (int)$this->request->get['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['search'])) { $url .= '&search=' . $this->request->get['search']; } if (isset($this->request->get['tag'])) { $url .= '&tag=' . $this->request->get['tag']; } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $product_info['name'], 'href' => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']), 'separator' => $this->language->get('text_separator') ); if ($product_info['seo_title']) { $this->document->setTitle($product_info['seo_title']); } else { $this->document->setTitle($product_info['name']); } $this->document->setDescription($product_info['meta_description']); $this->document->setKeywords($product_info['meta_keyword']); $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical'); $this->document->addScript('catalog/view/javascript/jquery/tabs.js'); $this->document->addScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js'); $this->document->addStyle('catalog/view/javascript/jquery/colorbox/colorbox.css'); if ($product_info['seo_h1']) { $this->data['heading_title'] = $product_info['seo_h1']; } else { $this->data['heading_title'] = $product_info['name']; } $this->data['text_select'] = $this->language->get('text_select'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_reward'] = $this->language->get('text_reward'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_discount'] = $this->language->get('text_discount'); $this->data['text_stock'] = $this->language->get('text_stock'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_discount'] = $this->language->get('text_discount'); $this->data['text_option'] = $this->language->get('text_option'); $this->data['text_qty'] = $this->language->get('text_qty'); $this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']); $this->data['text_or'] = $this->language->get('text_or'); $this->data['text_write'] = $this->language->get('text_write'); $this->data['text_note'] = $this->language->get('text_note'); $this->data['text_share'] = $this->language->get('text_share'); $this->data['text_wait'] = $this->language->get('text_wait'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['entry_name'] = $this->language->get('entry_name'); $this->data['entry_review'] = $this->language->get('entry_review'); $this->data['entry_rating'] = $this->language->get('entry_rating'); $this->data['entry_good'] = $this->language->get('entry_good'); $this->data['entry_bad'] = $this->language->get('entry_bad'); $this->data['entry_captcha'] = $this->language->get('entry_captcha'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_upload'] = $this->language->get('button_upload'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->load->model('catalog/review'); $this->data['tab_description'] = $this->language->get('tab_description'); $this->data['tab_attribute'] = $this->language->get('tab_attribute'); $this->data['tab_review'] = sprintf($this->language->get('tab_review'), $product_info['reviews']); $this->data['tab_related'] = $this->language->get('tab_related'); $this->data['product_id'] = $this->request->get['product_id']; $this->data['manufacturer'] = $product_info['manufacturer']; $this->data['manufacturers'] = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']); $this->data['model'] = $product_info['model']; $this->data['reward'] = $product_info['reward']; $this->data['points'] = $product_info['points']; if ($product_info['quantity'] <= 0) { $this->data['stock'] = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $this->data['stock'] = $product_info['quantity']; } else { $this->data['stock'] = $this->language->get('text_instock'); } $this->load->model('tool/image'); if ($product_info['image']) { $this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } else { $this->data['popup'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } if ($product_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); } $this->data['images'] = array(); $results = $this->model_catalog_product->getProductImages($this->request->get['product_id']); foreach ($results as $result) { $this->data['images'][] = array( 'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) ); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['price'] = false; } if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['special'] = false; } if ($this->config->get('config_tax')) { $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $this->data['tax'] = false; } $discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']); $this->data['discounts'] = array(); foreach ($discounts as $discount) { $this->data['discounts'][] = array( 'quantity' => $discount['quantity'], 'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) ); } $this->data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox' || $option['type'] == 'image') { $option_value_data = array(); foreach ($option['option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } $option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $this->data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'option_value' => $option_value_data, 'required' => $option['required'] ); } elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') { $this->data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'option_value' => $option['option_value'], 'required' => $option['required'] ); } } if ($product_info['minimum']) { $this->data['minimum'] = $product_info['minimum']; } else { $this->data['minimum'] = 1; } $this->data['review_status'] = $this->config->get('config_review_status'); $this->data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']); $this->data['rating'] = (int)$product_info['rating']; $this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']); $this->data['products'] = array(); $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']) ); } $this->data['tags'] = array(); if ($product_info['tag']) { $tags = explode(',', $product_info['tag']); foreach ($tags as $tag) { $this->data['tags'][] = array( 'tag' => trim($tag), 'href' => $this->url->link('product/search', 'tag=' . trim($tag)) ); } } $this->model_catalog_product->updateViewed($this->request->get['product_id']); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/product.tpl'; } else { $this->template = 'default/template/product/product.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()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['search'])) { $url .= '&search=' . $this->request->get['search']; } if (isset($this->request->get['tag'])) { $url .= '&tag=' . $this->request->get['tag']; } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/product', $url . '&product_id=' . $product_id), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.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()); } } public function review() { $this->language->load('product/product'); $this->load->model('catalog/review'); $this->data['text_on'] = $this->language->get('text_on'); $this->data['text_no_reviews'] = $this->language->get('text_no_reviews'); if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } $this->data['reviews'] = array(); $review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']); $results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5); foreach ($results as $result) { $this->data['reviews'][] = array( 'author' => $result['author'], 'text' => $result['text'], 'rating' => (int)$result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$review_total), 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])) ); } $pagination = new Pagination(); $pagination->total = $review_total; $pagination->page = $page; $pagination->limit = 5; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}'); $this->data['pagination'] = $pagination->render(); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/review.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/review.tpl'; } else { $this->template = 'default/template/product/review.tpl'; } $this->response->setOutput($this->render()); } public function write() { $this->language->load('product/product'); $this->load->model('catalog/review'); $json = array(); if ($this->request->server['REQUEST_METHOD'] == 'POST') { if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 25)) { $json['error'] = $this->language->get('error_name'); } if ((utf8_strlen($this->request->post['text']) < 25) || (utf8_strlen($this->request->post['text']) > 10000)) { $json['error'] = $this->language->get('error_text'); } if (empty($this->request->post['rating'])) { $json['error'] = $this->language->get('error_rating'); } if (empty($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) { $json['error'] = $this->language->get('error_captcha'); } if (!isset($json['error'])) { $this->model_catalog_review->addReview($this->request->get['product_id'], $this->request->post); $json['success'] = $this->language->get('text_success'); } } $this->response->setOutput(json_encode($json)); } public function captcha() { $this->load->library('captcha'); $captcha = new Captcha(); $this->session->data['captcha'] = $captcha->getCode(); $captcha->showImage(); } public function upload() { $this->language->load('product/product'); $json = array(); if (!empty($this->request->files['file']['name'])) { $filename = basename(preg_replace('/[^a-zA-Z0-9\.\-\s+]/', '', html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8'))); if ((utf8_strlen($filename) < 3) || (utf8_strlen($filename) > 64)) { $json['error'] = $this->language->get('error_filename'); } // Allowed file extension types $allowed = array(); $filetypes = explode("\n", $this->config->get('config_file_extension_allowed')); foreach ($filetypes as $filetype) { $allowed[] = trim($filetype); } if (!in_array(substr(strrchr($filename, '.'), 1), $allowed)) { $json['error'] = $this->language->get('error_filetype'); } // Allowed file mime types $allowed = array(); $filetypes = explode("\n", $this->config->get('config_file_mime_allowed')); foreach ($filetypes as $filetype) { $allowed[] = trim($filetype); } if (!in_array($this->request->files['file']['type'], $allowed)) { $json['error'] = $this->language->get('error_filetype'); } if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) { $json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']); } } else { $json['error'] = $this->language->get('error_upload'); } if (!$json && is_uploaded_file($this->request->files['file']['tmp_name']) && file_exists($this->request->files['file']['tmp_name'])) { $file = basename($filename) . '.' . md5(mt_rand()); // Hide the uploaded file name so people can not link to it directly. $json['file'] = $this->encryption->encrypt($file); move_uploaded_file($this->request->files['file']['tmp_name'], DIR_DOWNLOAD . $file); $json['success'] = $this->language->get('text_upload'); } $this->response->setOutput(json_encode($json)); } } ?> И вот vqmod\vqcache\vq2-catalog_controller_product_product.php class ControllerProductProduct extends Controller { private $error = array(); public function index() { $this->language->load('product/product'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->load->model('catalog/category'); if (isset($this->request->get['path'])) { $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = $path_id; } else { $path .= '_' . $path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path), 'separator' => $this->language->get('text_separator') ); } } // Set the last category breadcrumb $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); } } $this->load->model('catalog/manufacturer'); if (isset($this->request->get['manufacturer_id'])) { $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']); if ($manufacturer_info) { $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); } } if (isset($this->request->get['search']) || isset($this->request->get['tag'])) { $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . $this->request->get['search']; } if (isset($this->request->get['tag'])) { $url .= '&tag=' . $this->request->get['tag']; } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_search'), 'href' => $this->url->link('product/search', $url), 'separator' => $this->language->get('text_separator') ); } if (isset($this->request->get['product_id'])) { $product_id = (int)$this->request->get['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['search'])) { $url .= '&search=' . $this->request->get['search']; } if (isset($this->request->get['tag'])) { $url .= '&tag=' . $this->request->get['tag']; } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $product_info['name'], 'href' => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']), 'separator' => $this->language->get('text_separator') ); if ($product_info['seo_title']) { $this->document->setTitle($product_info['seo_title']); } else { $this->document->setTitle($product_info['name']); } $this->document->setDescription($product_info['meta_description']); $this->document->setKeywords($product_info['meta_keyword']); $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical'); $this->document->addScript('catalog/view/javascript/jquery/tabs.js'); $this->document->addScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js'); $this->document->addStyle('catalog/view/javascript/jquery/colorbox/colorbox.css'); if ($product_info['seo_h1']) { $this->data['heading_title'] = $product_info['seo_h1']; } else { $this->data['heading_title'] = $product_info['name']; } $this->data['text_select'] = $this->language->get('text_select'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_reward'] = $this->language->get('text_reward'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_discount'] = $this->language->get('text_discount'); $this->data['text_stock'] = $this->language->get('text_stock'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_discount'] = $this->language->get('text_discount'); $this->data['text_option'] = $this->language->get('text_option'); $this->data['text_qty'] = $this->language->get('text_qty'); $this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']); $this->data['text_or'] = $this->language->get('text_or'); $this->data['text_write'] = $this->language->get('text_write'); $this->data['text_note'] = $this->language->get('text_note'); $this->data['text_share'] = $this->language->get('text_share'); $this->data['text_wait'] = $this->language->get('text_wait'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['entry_name'] = $this->language->get('entry_name'); $this->data['entry_review'] = $this->language->get('entry_review'); $this->data['entry_rating'] = $this->language->get('entry_rating'); $this->data['entry_good'] = $this->language->get('entry_good'); $this->data['entry_bad'] = $this->language->get('entry_bad'); $this->data['entry_captcha'] = $this->language->get('entry_captcha'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_upload'] = $this->language->get('button_upload'); $this->data['button_continue'] = $this->language->get('button_continue'); if ($this->config->get('mmr_catalog_recaptcha_enabled') && $this->config->get('mmr_catalog_recaptcha_private_key') && $this->config->get('mmr_catalog_recaptcha_public_key')) { require_once(DIR_SYSTEM . 'library/recaptchalib.php'); if ($this->config->get('config_ssl')) { $recaptcha_ssl = true; } else { $recaptcha_ssl = false; } $this->data['recaptcha'] = recaptcha_get_html($this->config->get('mmr_catalog_recaptcha_public_key'), null, $recaptcha_ssl); } else { $this->data['recaptcha'] = ''; } $this->load->model('catalog/review'); $this->data['tab_description'] = $this->language->get('tab_description'); $this->data['tab_attribute'] = $this->language->get('tab_attribute'); $this->data['tab_review'] = sprintf($this->language->get('tab_review'), $product_info['reviews']); $this->data['tab_related'] = $this->language->get('tab_related'); $this->data['product_id'] = $this->request->get['product_id']; $this->data['manufacturer'] = $product_info['manufacturer']; $this->data['manufacturers'] = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']); $this->data['model'] = $product_info['model']; $this->data['reward'] = $product_info['reward']; $this->data['points'] = $product_info['points']; $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['jan'] = $product_info['jan']; $this->data['ean'] = $product_info['ean']; $this->data['isbn'] = $product_info['isbn']; $this->data['mpn'] = $product_info['mpn']; $this->data['viewed'] = $product_info['viewed']; $this->data['date_available'] = $product_info['date_available']; $this->data['quantity'] = $product_info['quantity']; $this->data['weight'] = ($product_info['weight']>0) ? $this->weight->format($product_info['weight'], $product_info['weight_class_id']) : ""; $this->data['length'] = ($product_info['length']>0) ? $this->length->format($product_info['length'], $product_info['length_class_id']) : ""; $this->data['width'] = ($product_info['width']>0) ? $this->length->format($product_info['width'], $product_info['length_class_id']) : ""; $this->data['height'] = ($product_info['height']>0) ? $this->length->format($product_info['height'], $product_info['length_class_id']) : ""; if ($product_info['quantity'] <= 0) { $this->data['stock'] = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $this->data['stock'] = $product_info['quantity']; } else { $this->data['stock'] = $this->language->get('text_instock'); } $this->load->model('tool/image'); if ($product_info['image']) { $this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } else { $this->data['popup'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } if ($product_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); } $this->data['images'] = array(); $results = $this->model_catalog_product->getProductImages($this->request->get['product_id']); foreach ($results as $result) { $this->data['images'][] = array( 'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) ); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['price'] = false; } if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['special'] = false; } if ((float)$product_info['special']) { $this->data['mmr_savings'] = $this->currency->format((($product_info['special'])-($product_info['price']))*(-1)) ; } else { $this->data['mmr_savings'] = false; } if ($this->config->get('config_tax')) { $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $this->data['tax'] = false; } $discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']); $this->data['discounts'] = array(); foreach ($discounts as $discount) { $this->data['discounts'][] = array( 'quantity' => $discount['quantity'], 'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) ); } $this->data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox' || $option['type'] == 'image') { $option_value_data = array(); foreach ($option['option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } $option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $this->data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'option_value' => $option_value_data, 'required' => $option['required'] ); } elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') { $this->data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'option_value' => $option['option_value'], 'required' => $option['required'] ); } } if ($product_info['minimum']) { $this->data['minimum'] = $product_info['minimum']; } else { $this->data['minimum'] = 1; } $this->data['review_status'] = $this->config->get('config_review_status'); $this->data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']); $this->data['rating'] = (int)$product_info['rating']; $this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']); $similar = $this->model_catalog_product->getProductSimilar($this->request->get['product_id'],4); foreach ($similar as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products_similar'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'upc' => $result['upc'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']), ); } $this->data['products'] = array(); $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $mmr_savings = $this->currency->format((($result['special'])-($result['price']))*(-1)); } else { $mmr_savings = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ((float)$result['quantity']) { $quantity = (int)$result['quantity']; } else { $quantity = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'description' => $this->config->get('mmr_common_related_descriptions_enabled') ? utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('mmr_common_descriptions_limit')) . '..' : 0, 'attribute_groups' => $this->config->get('mmr_common_related_attributes_enabled') ? $this->model_catalog_product->getProductAttributes($result['product_id']) : 0, 'sku' => $result['sku'], 'upc' => $result['upc'], 'jan' => $result['jan'], 'ean' => $result['ean'], 'isbn' => $result['isbn'], 'mpn' => $result['mpn'], 'viewed'=> $result['viewed'], 'date_available'=> $result['date_available'], 'quantity'=> $result['quantity'], 'stock'=> ($result['quantity']<=0) ? $result['stock_status'] : $this->language->get('text_instock'), 'mmr_savings'=> $mmr_savings, 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']) ); } $this->data['tags'] = array(); if ($product_info['tag']) { $tags = explode(',', $product_info['tag']); foreach ($tags as $tag) { $this->data['tags'][] = array( 'tag' => trim($tag), 'href' => $this->url->link('product/search', 'tag=' . trim($tag)) ); } } $this->model_catalog_product->updateViewed($this->request->get['product_id']); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/product.tpl'; } else { $this->template = 'default/template/product/product.tpl'; } $this->children = array( 'product/content_product_titlel', 'product/content_product_titlec', 'product/content_product_titler', 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['search'])) { $url .= '&search=' . $this->request->get['search']; } if (isset($this->request->get['tag'])) { $url .= '&tag=' . $this->request->get['tag']; } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/product', $url . '&product_id=' . $product_id), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); if ($this->config->get('mmr_catalog_recaptcha_enabled') && $this->config->get('mmr_catalog_recaptcha_private_key') && $this->config->get('mmr_catalog_recaptcha_public_key')) { require_once(DIR_SYSTEM . 'library/recaptchalib.php'); if ($this->config->get('config_ssl')) { $recaptcha_ssl = true; } else { $recaptcha_ssl = false; } $this->data['recaptcha'] = recaptcha_get_html($this->config->get('mmr_catalog_recaptcha_public_key'), null, $recaptcha_ssl); } else { $this->data['recaptcha'] = ''; } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'product/content_product_titlel', 'product/content_product_titlec', 'product/content_product_titler', 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } public function review() { $this->language->load('product/product'); $this->load->model('catalog/review'); $this->data['text_on'] = $this->language->get('text_on'); $this->data['text_no_reviews'] = $this->language->get('text_no_reviews'); if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } $this->data['reviews'] = array(); $review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']); $results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5); foreach ($results as $result) { $this->data['reviews'][] = array( 'author' => $result['author'], 'text' => $result['text'], 'rating' => (int)$result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$review_total), 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])) ); } $pagination = new Pagination(); $pagination->total = $review_total; $pagination->page = $page; $pagination->limit = 5; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}'); $this->data['pagination'] = $pagination->render(); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/review.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/review.tpl'; } else { $this->template = 'default/template/product/review.tpl'; } $this->response->setOutput($this->render()); } public function write() { $this->language->load('product/product'); $this->load->model('catalog/review'); $json = array(); if ($this->request->server['REQUEST_METHOD'] == 'POST') { if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 25)) { $json['error'] = $this->language->get('error_name'); } if ((utf8_strlen($this->request->post['text']) < 25) || (utf8_strlen($this->request->post['text']) > 10000)) { $json['error'] = $this->language->get('error_text'); } if (empty($this->request->post['rating'])) { $json['error'] = $this->language->get('error_rating'); } if (!$this->config->get('mmr_catalog_recaptcha_enabled') || !$this->config->get('mmr_catalog_recaptcha_private_key') || !$this->config->get('mmr_catalog_recaptcha_public_key')) { if (empty($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) { $json['error'] = $this->language->get('error_captcha'); } } else { require_once(DIR_SYSTEM . 'library/recaptchalib.php'); if (!isset($this->request->post['recaptcha_challenge_field']) || !isset($this->request->post['recaptcha_response_field'])) { $json['error'] = $this->language->get('error_captcha'); } else { $response = recaptcha_check_answer($this->config->get('mmr_catalog_recaptcha_private_key'), $this->request->server['REMOTE_ADDR'], $this->request->post['recaptcha_challenge_field'], $this->request->post['recaptcha_response_field']); if (!$response->is_valid) { $json['error'] = $this->language->get('error_captcha'); } } } if (!isset($json['error'])) { $this->model_catalog_review->addReview($this->request->get['product_id'], $this->request->post); $json['success'] = $this->language->get('text_success'); } } $this->response->setOutput(json_encode($json)); } public function captcha() { $this->load->library('captcha'); $captcha = new Captcha(); $this->session->data['captcha'] = $captcha->getCode(); $captcha->showImage(); } public function upload() { $this->language->load('product/product'); $json = array(); if (!empty($this->request->files['file']['name'])) { $filename = basename(preg_replace('/[^a-zA-Z0-9\.\-\s+]/', '', html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8'))); if ((utf8_strlen($filename) < 3) || (utf8_strlen($filename) > 64)) { $json['error'] = $this->language->get('error_filename'); } // Allowed file extension types $allowed = array(); $filetypes = explode("\n", $this->config->get('config_file_extension_allowed')); foreach ($filetypes as $filetype) { $allowed[] = trim($filetype); } if (!in_array(substr(strrchr($filename, '.'), 1), $allowed)) { $json['error'] = $this->language->get('error_filetype'); } // Allowed file mime types $allowed = array(); $filetypes = explode("\n", $this->config->get('config_file_mime_allowed')); foreach ($filetypes as $filetype) { $allowed[] = trim($filetype); } if (!in_array($this->request->files['file']['type'], $allowed)) { $json['error'] = $this->language->get('error_filetype'); } if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) { $json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']); } } else { $json['error'] = $this->language->get('error_upload'); } if (!$json && is_uploaded_file($this->request->files['file']['tmp_name']) && file_exists($this->request->files['file']['tmp_name'])) { $file = basename($filename) . '.' . md5(mt_rand()); // Hide the uploaded file name so people can not link to it directly. $json['file'] = $this->encryption->encrypt($file); move_uploaded_file($this->request->files['file']['tmp_name'], DIR_DOWNLOAD . $file); $json['success'] = $this->language->get('text_upload'); } $this->response->setOutput(json_encode($json)); } } ?> Надіслати Поділитися на інших сайтах More sharing options...
Kindzaza Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 А в спойлер спрятать портянку, не? Даже кнопку в редакторе прикрутили. Надіслати Поділитися на інших сайтах More sharing options...
RGB Опубліковано: 24 листопада 2014 Автор Share Опубліковано: 24 листопада 2014 не.. автор под ваш шаблон точить его вряд ли будет, тем более он и бесплатный, ещё и конфликтует с вашим слайдером, а тут мож чего кто) Отключаемое да - но когда отключаешь из категорий а там вывод и сеткой и списком, он отключает и из списка тож..и оставить кнопки купить и т.д? нужно чтоб как по умолчанию) Мета-заголовок в кратком описании - да на страницах категорий, производителей, акции, поиск и т.д. но не в карточке товара. т.е. в таком случае можно расписать краткое описание как душе угодно) Предпоследнее? если про последнее то это о статьях из блога Марка) Есть ещё одно, вывод опций картинками (Цвет) и под фото товара болшой кусок пустоты образуется и получается не красиво.. думаю что можно сделать.. пока ни чего в голову не пришло кроме как вернуть мелкие картинки назад как на дефолтном.. может посоветует кто чего...? 1 так вы хотите, чтобы описание отключалось лишь в сетке, а не в списке? это можно сделать стилями, а насчет оставить кнопку купить я не понял - просто выберите настройку постоянного отображения этих кнопок вместо отображения при наведении 2 посмотрю что можно сделать, хотя не знаю что вам мешает в обычном описании учесть размер, по которому обрезается текст, и в начале этого описания поставить нужный вам текст, который вы хотите поместить в мета-описание 3 я не понял этого вопроса или предложения или что это? :) "И чтоб не искать среди кучи статей - выводить с категории)" 4 что за вывод опций картинками? добрый день. Посмотрите, пожалуйста Вот catalog/controller/product/product.php Посмотрел, я думал вы про отсутствие заглушек в сопутствующих товарах, потому что там оно есть Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 2 посмотрю что можно сделать, хотя не знаю что вам мешает в обычном описании учесть размер, по которому обрезается текст, и в начале этого описания поставить нужный вам текст, который вы хотите поместить в мета-описание 3 я не понял этого вопроса или предложения или что это? :) "И чтоб не искать среди кучи статей - выводить с категории)" 4 что за вывод опций картинками? Ну в мета описания можно вводить компактно описания как по типу превью полного, основные характеристики и т.д.) "И чтоб не искать среди кучи статей - выводить с категории)" эт имелось ввиду что в блоге пачка категорий и в каждой куча статей, вот чтоб искала через категории)) Вывод опций изображениями тут Да, и думаю лучше артикул вывести за пределы h1 но оставив в одной полосе Надіслати Поділитися на інших сайтах More sharing options... aminco Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? Надіслати Поділитися на інших сайтах More sharing options... serp84 Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 Господа! Не будете ли Вы любезны подсказать, каков рекомендуемый размер фото (баннера) должен быть для главной страницы при условии, что есть 1 колонка (слева). Хотелось, чтобы при адаптивности все уменьшалось и выглядело красиво... Спасибо Надіслати Поділитися на інших сайтах More sharing options... RGB Опубліковано: 24 листопада 2014 Автор Share Опубліковано: 24 листопада 2014 Ну в мета описания можно вводить компактно описания как по типу превью полного, основные характеристики и т.д.) "И чтоб не искать среди кучи статей - выводить с категории)" эт имелось ввиду что в блоге пачка категорий и в каждой куча статей, вот чтоб искала через категории)) Вывод опций изображениями тут Да, и думаю лучше артикул вывести за пределы h1 но оставив в одной полосе 1 я вас понял 2 относительно блога не ко мне вопрос - я не могу интегрировать настройки шаблона со сторонними модулями, ведь эти самые модули (блог) есть далеко не у всех покупателей шаблона 3 опции изображениями - можно конечно сделать их "строчными", но будет не очень красиво (ведь ширина текста опции может быть разной, и соотв. радио-кнопки будут не в одну линию): Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? Так напишите разработчику, я то причем к добавлению гуглокапчи в сторонний модуль отзывов? :) Это немало изменений в коде + надо как то связать модуль с АПИ гуглокапчи, а значит надо и админку модуля перепиливать, предусмтривая в ней места для хранения ключей капчи (как в шаблоне) Господа! Не будете ли Вы любезны подсказать, каков рекомендуемый размер фото (баннера) должен быть для главной страницы при условии, что есть 1 колонка (слева). Хотелось, чтобы при адаптивности все уменьшалось и выглядело красиво... Спасибо Вроде 698 рх, нет? Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 (змінено) RGB, скажите когда в стандартных модулях на пример "Рекомендуемые" и т.д. при наведении будет возможность раскрытия дополнительных полей (характеристкик, наличия и т.д.) по аналогии как в каталоге? Или что где поправить, через вкмод сделаю себе правки. Уже и так отдельный файл сделал, чтобы все внесенные мною правки после обновления руками не переделывать :-) И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку. Змінено 24 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 3 опции изображениями - можно конечно сделать их "строчными", но будет не очень красиво (ведь ширина текста опции может быть разной, и соотв. радио-кнопки будут не в одну линию): Единственный вариант который я пока вижу это смещение доп картинок под заглавную (как у дефолта) при включении опций.. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? У Марка круче капча и отзывы и куча ещё всего - утонуть можно в возможностях его модуля Тыкай Тут крутой Тут подкрученный Надіслати Поділитися на інших сайтах More sharing options... RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 RGB, скажите когда в стандартных модулях на пример "Рекомендуемые" и т.д. при наведении будет возможность раскрытия дополнительных полей (характеристкик, наличия и т.д.) по аналогии как в каталоге? Или что где поправить, через вкмод сделаю себе правки. Уже и так отдельный файл сделал, чтобы все внесенные мною правки после обновления руками не переделывать :-) И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку. Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) Единственный вариант который я пока вижу это смещение доп картинок под заглавную (как у дефолта) при включении опций.. А если опций 2 штуки, а картинок - 10? :) Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазина, клиенту оно не должно приходить. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 (змінено) Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) А если опций 2 штуки, а картинок - 10? :) спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." А насчет стилей угадали по картинке на фон, у меня как раз светлый. Все сделал работает)) Змінено 25 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазину, клиенту оно не должно приходить. странно, попробую поменять почтовый адрес. В спаме нету. Надіслати Поділитися на інших сайтах More sharing options... RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона странно, попробую поменять почтовый адрес. В спаме нету. Еще вариант - если вы используете смтп, с ним почта может не работать Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Как включить заглушку ? добавлены заглушки для товаров без фото в каталог, базовые модули и на страницу товара А то у меня в категории есть товары без фото, и они выводятся. Что очень не красиво. ну или узнать как она работает ? У меня есть вот такая вот ситуация Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона Еще вариант - если вы используете смтп, с ним почта может не работать за рандомные картинки отдельно спасибо. Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Насчет смтп в почте. Пробовал с обоими вариантами, результат один. Попробую еще сменить почту. Надіслати Поділитися на інших сайтах More sharing options... Kindzaza Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Я думаю вот об этом разговор, RGB я вас уже как то спрашивал про это. Так же жду :-) Надіслати Поділитися на інших сайтах More sharing options... Irmo Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGB, скажите пожалуйста, можно ли избавиться от вызова model_catalog_product->getTotalProducts() в catalog/controller/common/header.php, который прописывает туда vqmod/xml/moneymaker.xml? Для какой именно цели вы считаете там количество товаров? Строю магазин на тестовом сервере, с малым количеством товаров ничего не замечал, сейчас залил боевую нагрузку: 150 категорий, 18тыс. товаров, сразу стал ждать секунд по 5 на каждой карточке товара. В логах mysql по 60 запросов из getTotalProducts(), а они, как известно, тяжёлые. Надіслати Поділитися на інших сайтах More sharing options... rukol Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Надіслати Поділитися на інших сайтах More sharing options... Mirina Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Во-первых отзывы не имеют никакого отношения к шаблону, а во-вторых, предположу, что вы используете отдельный модуль Recaptcha, и эта ошибка относится именно к этому модулю. Так что лучше задать этот вопрос автору модуля, а не шаблона. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Можно, в файле header.tpl после <div class="col-sm-12 col-md-4 col-md-height col-middle"> добавить то, что в исходном коде находится после тега <ul class="dropdown-menu keep_open">. Выбирай в коде свои телефоны и копируй полностью код. Похоже будет на вот такое: <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> Код можно добавить в div присвоив ему класс, например <div class="contact-plus"> В итоге получиться вот так приблизительно: <div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div> Я добавлял две строки выглядит неплохо. И конечно в пользовательские стили надо добавить, например: .contact-plus{ padding-bottom:15px; text-align: center; white-space: nowrap; } С отступами уже смотри сам. Вообще при желании можно добавить телефоны и в само меню, что в dropdown, но я не пробовал. Можно все сделать и через вкмод, создавай файл с таким содержимым <modification> <id>1</id> <version>1</version> <vqmver>1</vqmver> <author>1</author> <file name="catalog/view/theme/moneymaker/template/common/header.tpl"> <operation> <search position="after"><![CDATA[<div class="col-sm-12 col-md-4 col-md-height col-middle">]]></search> <add><![CDATA[<div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div>]]></add> </operation> </file> </modification> Ну только предварительно прописав свои телефоны. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGВ, подскажите как поменять иконку сравнения? Хочу добавить весы вместо, что в шаблоне. Не пойму как они туда выводяться. Вижу, что через файл стилей, но где физически добавить картинку? Надіслати Поділитися на інших сайтах More sharing options... Назад 62 63 64 65 66 67 68 69 70 71 72 Вперед Сторінка 67 з 290 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 10 Перейти до списку тем Схожі публікації Модуль PDF Invoice to Order (Счет-фактура до замовлення в PDF) [Поддержка] Автор: kirians, 6 січня 2022 invoice invoice pdf (і ще %d) Теги: invoice invoice pdf pdf generate pdf attach pdf to email накладная пдф счет-фактура шаблон рахунок-фактура накладна 1 відповідь 988 переглядів QFX 1 лютого 2022 hreflang SEO Hreflang New! alternate link, multilang url Автор: Sha, 29 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 0 коментарів 8 461 перегляд Sha 30 січня 2021 hreflang [Поддержка] Автор: Sha, 30 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 19 відповідей 3 220 переглядів Sha 8 серпня Проблема с каруселью фотографий товаров - шаблон "Простор" Автор: rayhack, 20 серпня шаблон 3 відповіді 268 переглядів rayhack 28 серпня Octostore - адаптивний, універтальний та продуманий шаблон для Opencart/OcStore [Поддержка] Автор: MonstroDesign, 1 липня octostore ocstore (і ще %d) Теги: octostore ocstore opencart opencart3 ocstore3 шаблон тема 4 відповіді 398 переглядів fokokero 4 жовтня Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Платные шаблоны Шаблон Moneymaker [Поддержка] Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
HyperLabTeam Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 2 посмотрю что можно сделать, хотя не знаю что вам мешает в обычном описании учесть размер, по которому обрезается текст, и в начале этого описания поставить нужный вам текст, который вы хотите поместить в мета-описание 3 я не понял этого вопроса или предложения или что это? :) "И чтоб не искать среди кучи статей - выводить с категории)" 4 что за вывод опций картинками? Ну в мета описания можно вводить компактно описания как по типу превью полного, основные характеристики и т.д.) "И чтоб не искать среди кучи статей - выводить с категории)" эт имелось ввиду что в блоге пачка категорий и в каждой куча статей, вот чтоб искала через категории)) Вывод опций изображениями тут Да, и думаю лучше артикул вывести за пределы h1 но оставив в одной полосе Надіслати Поділитися на інших сайтах More sharing options...
aminco Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? Надіслати Поділитися на інших сайтах More sharing options...
serp84 Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 Господа! Не будете ли Вы любезны подсказать, каков рекомендуемый размер фото (баннера) должен быть для главной страницы при условии, что есть 1 колонка (слева). Хотелось, чтобы при адаптивности все уменьшалось и выглядело красиво... Спасибо Надіслати Поділитися на інших сайтах More sharing options...
RGB Опубліковано: 24 листопада 2014 Автор Share Опубліковано: 24 листопада 2014 Ну в мета описания можно вводить компактно описания как по типу превью полного, основные характеристики и т.д.) "И чтоб не искать среди кучи статей - выводить с категории)" эт имелось ввиду что в блоге пачка категорий и в каждой куча статей, вот чтоб искала через категории)) Вывод опций изображениями тут Да, и думаю лучше артикул вывести за пределы h1 но оставив в одной полосе 1 я вас понял 2 относительно блога не ко мне вопрос - я не могу интегрировать настройки шаблона со сторонними модулями, ведь эти самые модули (блог) есть далеко не у всех покупателей шаблона 3 опции изображениями - можно конечно сделать их "строчными", но будет не очень красиво (ведь ширина текста опции может быть разной, и соотв. радио-кнопки будут не в одну линию): Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? Так напишите разработчику, я то причем к добавлению гуглокапчи в сторонний модуль отзывов? :) Это немало изменений в коде + надо как то связать модуль с АПИ гуглокапчи, а значит надо и админку модуля перепиливать, предусмтривая в ней места для хранения ключей капчи (как в шаблоне) Господа! Не будете ли Вы любезны подсказать, каков рекомендуемый размер фото (баннера) должен быть для главной страницы при условии, что есть 1 колонка (слева). Хотелось, чтобы при адаптивности все уменьшалось и выглядело красиво... Спасибо Вроде 698 рх, нет? Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 (змінено) RGB, скажите когда в стандартных модулях на пример "Рекомендуемые" и т.д. при наведении будет возможность раскрытия дополнительных полей (характеристкик, наличия и т.д.) по аналогии как в каталоге? Или что где поправить, через вкмод сделаю себе правки. Уже и так отдельный файл сделал, чтобы все внесенные мною правки после обновления руками не переделывать :-) И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку. Змінено 24 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 3 опции изображениями - можно конечно сделать их "строчными", но будет не очень красиво (ведь ширина текста опции может быть разной, и соотв. радио-кнопки будут не в одну линию): Единственный вариант который я пока вижу это смещение доп картинок под заглавную (как у дефолта) при включении опций.. Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? У Марка круче капча и отзывы и куча ещё всего - утонуть можно в возможностях его модуля Тыкай Тут крутой Тут подкрученный Надіслати Поділитися на інших сайтах More sharing options... RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 RGB, скажите когда в стандартных модулях на пример "Рекомендуемые" и т.д. при наведении будет возможность раскрытия дополнительных полей (характеристкик, наличия и т.д.) по аналогии как в каталоге? Или что где поправить, через вкмод сделаю себе правки. Уже и так отдельный файл сделал, чтобы все внесенные мною правки после обновления руками не переделывать :-) И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку. Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) Единственный вариант который я пока вижу это смещение доп картинок под заглавную (как у дефолта) при включении опций.. А если опций 2 штуки, а картинок - 10? :) Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазина, клиенту оно не должно приходить. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 (змінено) Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) А если опций 2 штуки, а картинок - 10? :) спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." А насчет стилей угадали по картинке на фон, у меня как раз светлый. Все сделал работает)) Змінено 25 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазину, клиенту оно не должно приходить. странно, попробую поменять почтовый адрес. В спаме нету. Надіслати Поділитися на інших сайтах More sharing options... RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона странно, попробую поменять почтовый адрес. В спаме нету. Еще вариант - если вы используете смтп, с ним почта может не работать Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Как включить заглушку ? добавлены заглушки для товаров без фото в каталог, базовые модули и на страницу товара А то у меня в категории есть товары без фото, и они выводятся. Что очень не красиво. ну или узнать как она работает ? У меня есть вот такая вот ситуация Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона Еще вариант - если вы используете смтп, с ним почта может не работать за рандомные картинки отдельно спасибо. Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Насчет смтп в почте. Пробовал с обоими вариантами, результат один. Попробую еще сменить почту. Надіслати Поділитися на інших сайтах More sharing options... Kindzaza Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Я думаю вот об этом разговор, RGB я вас уже как то спрашивал про это. Так же жду :-) Надіслати Поділитися на інших сайтах More sharing options... Irmo Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGB, скажите пожалуйста, можно ли избавиться от вызова model_catalog_product->getTotalProducts() в catalog/controller/common/header.php, который прописывает туда vqmod/xml/moneymaker.xml? Для какой именно цели вы считаете там количество товаров? Строю магазин на тестовом сервере, с малым количеством товаров ничего не замечал, сейчас залил боевую нагрузку: 150 категорий, 18тыс. товаров, сразу стал ждать секунд по 5 на каждой карточке товара. В логах mysql по 60 запросов из getTotalProducts(), а они, как известно, тяжёлые. Надіслати Поділитися на інших сайтах More sharing options... rukol Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Надіслати Поділитися на інших сайтах More sharing options... Mirina Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Во-первых отзывы не имеют никакого отношения к шаблону, а во-вторых, предположу, что вы используете отдельный модуль Recaptcha, и эта ошибка относится именно к этому модулю. Так что лучше задать этот вопрос автору модуля, а не шаблона. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Можно, в файле header.tpl после <div class="col-sm-12 col-md-4 col-md-height col-middle"> добавить то, что в исходном коде находится после тега <ul class="dropdown-menu keep_open">. Выбирай в коде свои телефоны и копируй полностью код. Похоже будет на вот такое: <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> Код можно добавить в div присвоив ему класс, например <div class="contact-plus"> В итоге получиться вот так приблизительно: <div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div> Я добавлял две строки выглядит неплохо. И конечно в пользовательские стили надо добавить, например: .contact-plus{ padding-bottom:15px; text-align: center; white-space: nowrap; } С отступами уже смотри сам. Вообще при желании можно добавить телефоны и в само меню, что в dropdown, но я не пробовал. Можно все сделать и через вкмод, создавай файл с таким содержимым <modification> <id>1</id> <version>1</version> <vqmver>1</vqmver> <author>1</author> <file name="catalog/view/theme/moneymaker/template/common/header.tpl"> <operation> <search position="after"><![CDATA[<div class="col-sm-12 col-md-4 col-md-height col-middle">]]></search> <add><![CDATA[<div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div>]]></add> </operation> </file> </modification> Ну только предварительно прописав свои телефоны. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGВ, подскажите как поменять иконку сравнения? Хочу добавить весы вместо, что в шаблоне. Не пойму как они туда выводяться. Вижу, что через файл стилей, но где физически добавить картинку? Надіслати Поділитися на інших сайтах More sharing options... Назад 62 63 64 65 66 67 68 69 70 71 72 Вперед Сторінка 67 з 290 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 10 Перейти до списку тем Схожі публікації Модуль PDF Invoice to Order (Счет-фактура до замовлення в PDF) [Поддержка] Автор: kirians, 6 січня 2022 invoice invoice pdf (і ще %d) Теги: invoice invoice pdf pdf generate pdf attach pdf to email накладная пдф счет-фактура шаблон рахунок-фактура накладна 1 відповідь 988 переглядів QFX 1 лютого 2022 hreflang SEO Hreflang New! alternate link, multilang url Автор: Sha, 29 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 0 коментарів 8 461 перегляд Sha 30 січня 2021 hreflang [Поддержка] Автор: Sha, 30 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 19 відповідей 3 220 переглядів Sha 8 серпня Проблема с каруселью фотографий товаров - шаблон "Простор" Автор: rayhack, 20 серпня шаблон 3 відповіді 268 переглядів rayhack 28 серпня Octostore - адаптивний, універтальний та продуманий шаблон для Opencart/OcStore [Поддержка] Автор: MonstroDesign, 1 липня octostore ocstore (і ще %d) Теги: octostore ocstore opencart opencart3 ocstore3 шаблон тема 4 відповіді 398 переглядів fokokero 4 жовтня Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Платные шаблоны Шаблон Moneymaker [Поддержка] Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
hover Опубліковано: 24 листопада 2014 Share Опубліковано: 24 листопада 2014 (змінено) RGB, скажите когда в стандартных модулях на пример "Рекомендуемые" и т.д. при наведении будет возможность раскрытия дополнительных полей (характеристкик, наличия и т.д.) по аналогии как в каталоге? Или что где поправить, через вкмод сделаю себе правки. Уже и так отдельный файл сделал, чтобы все внесенные мною правки после обновления руками не переделывать :-) И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку. Змінено 24 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options...
HyperLabTeam Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 3 опции изображениями - можно конечно сделать их "строчными", но будет не очень красиво (ведь ширина текста опции может быть разной, и соотв. радио-кнопки будут не в одну линию): Единственный вариант который я пока вижу это смещение доп картинок под заглавную (как у дефолта) при включении опций.. Надіслати Поділитися на інших сайтах More sharing options...
HyperLabTeam Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Ни кто не прикручивал к этому модулю "Отзывы" Гуглокапчу? Очень простые отзывы о магазине, только капча отрывается. Автор, может сможете адаптировать под шаблон? У Марка круче капча и отзывы и куча ещё всего - утонуть можно в возможностях его модуля Тыкай Тут крутой Тут подкрученный Надіслати Поділитися на інших сайтах More sharing options...
RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 RGB, скажите когда в стандартных модулях на пример "Рекомендуемые" и т.д. при наведении будет возможность раскрытия дополнительных полей (характеристкик, наличия и т.д.) по аналогии как в каталоге? Или что где поправить, через вкмод сделаю себе правки. Уже и так отдельный файл сделал, чтобы все внесенные мною правки после обновления руками не переделывать :-) И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку. Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) Единственный вариант который я пока вижу это смещение доп картинок под заглавную (как у дефолта) при включении опций.. А если опций 2 штуки, а картинок - 10? :) Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазина, клиенту оно не должно приходить. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 (змінено) Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) А если опций 2 штуки, а картинок - 10? :) спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." А насчет стилей угадали по картинке на фон, у меня как раз светлый. Все сделал работает)) Змінено 25 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазину, клиенту оно не должно приходить. странно, попробую поменять почтовый адрес. В спаме нету. Надіслати Поділитися на інших сайтах More sharing options... RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона странно, попробую поменять почтовый адрес. В спаме нету. Еще вариант - если вы используете смтп, с ним почта может не работать Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Как включить заглушку ? добавлены заглушки для товаров без фото в каталог, базовые модули и на страницу товара А то у меня в категории есть товары без фото, и они выводятся. Что очень не красиво. ну или узнать как она работает ? У меня есть вот такая вот ситуация Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона Еще вариант - если вы используете смтп, с ним почта может не работать за рандомные картинки отдельно спасибо. Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Насчет смтп в почте. Пробовал с обоими вариантами, результат один. Попробую еще сменить почту. Надіслати Поділитися на інших сайтах More sharing options... Kindzaza Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Я думаю вот об этом разговор, RGB я вас уже как то спрашивал про это. Так же жду :-) Надіслати Поділитися на інших сайтах More sharing options... Irmo Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGB, скажите пожалуйста, можно ли избавиться от вызова model_catalog_product->getTotalProducts() в catalog/controller/common/header.php, который прописывает туда vqmod/xml/moneymaker.xml? Для какой именно цели вы считаете там количество товаров? Строю магазин на тестовом сервере, с малым количеством товаров ничего не замечал, сейчас залил боевую нагрузку: 150 категорий, 18тыс. товаров, сразу стал ждать секунд по 5 на каждой карточке товара. В логах mysql по 60 запросов из getTotalProducts(), а они, как известно, тяжёлые. Надіслати Поділитися на інших сайтах More sharing options... rukol Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Надіслати Поділитися на інших сайтах More sharing options... Mirina Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Во-первых отзывы не имеют никакого отношения к шаблону, а во-вторых, предположу, что вы используете отдельный модуль Recaptcha, и эта ошибка относится именно к этому модулю. Так что лучше задать этот вопрос автору модуля, а не шаблона. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Можно, в файле header.tpl после <div class="col-sm-12 col-md-4 col-md-height col-middle"> добавить то, что в исходном коде находится после тега <ul class="dropdown-menu keep_open">. Выбирай в коде свои телефоны и копируй полностью код. Похоже будет на вот такое: <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> Код можно добавить в div присвоив ему класс, например <div class="contact-plus"> В итоге получиться вот так приблизительно: <div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div> Я добавлял две строки выглядит неплохо. И конечно в пользовательские стили надо добавить, например: .contact-plus{ padding-bottom:15px; text-align: center; white-space: nowrap; } С отступами уже смотри сам. Вообще при желании можно добавить телефоны и в само меню, что в dropdown, но я не пробовал. Можно все сделать и через вкмод, создавай файл с таким содержимым <modification> <id>1</id> <version>1</version> <vqmver>1</vqmver> <author>1</author> <file name="catalog/view/theme/moneymaker/template/common/header.tpl"> <operation> <search position="after"><![CDATA[<div class="col-sm-12 col-md-4 col-md-height col-middle">]]></search> <add><![CDATA[<div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div>]]></add> </operation> </file> </modification> Ну только предварительно прописав свои телефоны. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGВ, подскажите как поменять иконку сравнения? Хочу добавить весы вместо, что в шаблоне. Не пойму как они туда выводяться. Вижу, что через файл стилей, но где физически добавить картинку? Надіслати Поділитися на інших сайтах More sharing options... Назад 62 63 64 65 66 67 68 69 70 71 72 Вперед Сторінка 67 з 290 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 10 Перейти до списку тем Схожі публікації Модуль PDF Invoice to Order (Счет-фактура до замовлення в PDF) [Поддержка] Автор: kirians, 6 січня 2022 invoice invoice pdf (і ще %d) Теги: invoice invoice pdf pdf generate pdf attach pdf to email накладная пдф счет-фактура шаблон рахунок-фактура накладна 1 відповідь 988 переглядів QFX 1 лютого 2022 hreflang SEO Hreflang New! alternate link, multilang url Автор: Sha, 29 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 0 коментарів 8 461 перегляд Sha 30 січня 2021 hreflang [Поддержка] Автор: Sha, 30 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 19 відповідей 3 220 переглядів Sha 8 серпня Проблема с каруселью фотографий товаров - шаблон "Простор" Автор: rayhack, 20 серпня шаблон 3 відповіді 268 переглядів rayhack 28 серпня Octostore - адаптивний, універтальний та продуманий шаблон для Opencart/OcStore [Поддержка] Автор: MonstroDesign, 1 липня octostore ocstore (і ще %d) Теги: octostore ocstore opencart opencart3 ocstore3 шаблон тема 4 відповіді 398 переглядів fokokero 4 жовтня Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Платные шаблоны Шаблон Moneymaker [Поддержка]
hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Надіслати Поділитися на інших сайтах More sharing options...
s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Подскажите по "быстрому заказу" приходит на почту уведомление? Не могу понять почему ничего не приходит. Вроде все настроено. Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазина, клиенту оно не должно приходить. Надіслати Поділитися на інших сайтах More sharing options...
hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 (змінено) Если для стандартных модулей в позиции Верх/Низ, то вроде должно хватить простого удаления класса product-block-detailed из тпл-файлов модулей, если же для боковых позиций, то нужно будет добавить в пользовательские стили что-то вроде такого: #column-left .product-grid .product-block .description, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } #column-left .product-grid .product-block:hover, #column-right .product-grid .product-block .description { background: url('catalog/view/theme/moneymaker/image/dot_white.png') !important; } Но учитывая, что темы могут быть разными, возможно будет не очень красиво смотреться (у меня как на скрине вышло, вроде что надо) А если опций 2 штуки, а картинок - 10? :) спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." А насчет стилей угадали по картинке на фон, у меня как раз светлый. Все сделал работает)) Змінено 25 листопада 2014 користувачем hover Надіслати Поділитися на інших сайтах More sharing options...
hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Все приходит. Возможно письмо попадает в папку Спам, проверьте ее. И да, письмо должно приходить только админу магазину, клиенту оно не должно приходить. странно, попробую поменять почтовый адрес. В спаме нету. Надіслати Поділитися на інших сайтах More sharing options...
RGB Опубліковано: 25 листопада 2014 Автор Share Опубліковано: 25 листопада 2014 спасибо, буду пробовать, а что насчет этих вопросов: "И напомните, как сделать рандомно вывод картинок в слайдшоу, помню Вы писали уже, но не могу в теме найти. Так же интересует как сделать активной кнопку для статуса предзаказ? Я то понимаю, что фича привязана к остаткам, но как человек сделает предзаказ, если кнопка неактивная? Только по звонку." Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона странно, попробую поменять почтовый адрес. В спаме нету. Еще вариант - если вы используете смтп, с ним почта может не работать Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Как включить заглушку ? добавлены заглушки для товаров без фото в каталог, базовые модули и на страницу товара А то у меня в категории есть товары без фото, и они выводятся. Что очень не красиво. ну или узнать как она работает ? У меня есть вот такая вот ситуация Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона Еще вариант - если вы используете смтп, с ним почта может не работать за рандомные картинки отдельно спасибо. Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Насчет смтп в почте. Пробовал с обоими вариантами, результат один. Попробую еще сменить почту. Надіслати Поділитися на інших сайтах More sharing options... Kindzaza Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Я думаю вот об этом разговор, RGB я вас уже как то спрашивал про это. Так же жду :-) Надіслати Поділитися на інших сайтах More sharing options... Irmo Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGB, скажите пожалуйста, можно ли избавиться от вызова model_catalog_product->getTotalProducts() в catalog/controller/common/header.php, который прописывает туда vqmod/xml/moneymaker.xml? Для какой именно цели вы считаете там количество товаров? Строю магазин на тестовом сервере, с малым количеством товаров ничего не замечал, сейчас залил боевую нагрузку: 150 категорий, 18тыс. товаров, сразу стал ждать секунд по 5 на каждой карточке товара. В логах mysql по 60 запросов из getTotalProducts(), а они, как известно, тяжёлые. Надіслати Поділитися на інших сайтах More sharing options... rukol Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Надіслати Поділитися на інших сайтах More sharing options... Mirina Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Во-первых отзывы не имеют никакого отношения к шаблону, а во-вторых, предположу, что вы используете отдельный модуль Recaptcha, и эта ошибка относится именно к этому модулю. Так что лучше задать этот вопрос автору модуля, а не шаблона. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Можно, в файле header.tpl после <div class="col-sm-12 col-md-4 col-md-height col-middle"> добавить то, что в исходном коде находится после тега <ul class="dropdown-menu keep_open">. Выбирай в коде свои телефоны и копируй полностью код. Похоже будет на вот такое: <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> Код можно добавить в div присвоив ему класс, например <div class="contact-plus"> В итоге получиться вот так приблизительно: <div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div> Я добавлял две строки выглядит неплохо. И конечно в пользовательские стили надо добавить, например: .contact-plus{ padding-bottom:15px; text-align: center; white-space: nowrap; } С отступами уже смотри сам. Вообще при желании можно добавить телефоны и в само меню, что в dropdown, но я не пробовал. Можно все сделать и через вкмод, создавай файл с таким содержимым <modification> <id>1</id> <version>1</version> <vqmver>1</vqmver> <author>1</author> <file name="catalog/view/theme/moneymaker/template/common/header.tpl"> <operation> <search position="after"><![CDATA[<div class="col-sm-12 col-md-4 col-md-height col-middle">]]></search> <add><![CDATA[<div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div>]]></add> </operation> </file> </modification> Ну только предварительно прописав свои телефоны. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGВ, подскажите как поменять иконку сравнения? Хочу добавить весы вместо, что в шаблоне. Не пойму как они туда выводяться. Вижу, что через файл стилей, но где физически добавить картинку? Надіслати Поділитися на інших сайтах More sharing options... Назад 62 63 64 65 66 67 68 69 70 71 72 Вперед Сторінка 67 з 290 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 10 Перейти до списку тем Схожі публікації Модуль PDF Invoice to Order (Счет-фактура до замовлення в PDF) [Поддержка] Автор: kirians, 6 січня 2022 invoice invoice pdf (і ще %d) Теги: invoice invoice pdf pdf generate pdf attach pdf to email накладная пдф счет-фактура шаблон рахунок-фактура накладна 1 відповідь 988 переглядів QFX 1 лютого 2022 hreflang SEO Hreflang New! alternate link, multilang url Автор: Sha, 29 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 0 коментарів 8 461 перегляд Sha 30 січня 2021 hreflang [Поддержка] Автор: Sha, 30 січня 2021 multilang target (і ще %d) Теги: multilang target alternate link seo dev oc_ pro продающий seo filter группы simple связанные мультиязык language queries ru-ua uk-ua en-ua 19 відповідей 3 220 переглядів Sha 8 серпня Проблема с каруселью фотографий товаров - шаблон "Простор" Автор: rayhack, 20 серпня шаблон 3 відповіді 268 переглядів rayhack 28 серпня Octostore - адаптивний, універтальний та продуманий шаблон для Opencart/OcStore [Поддержка] Автор: MonstroDesign, 1 липня octostore ocstore (і ще %d) Теги: octostore ocstore opencart opencart3 ocstore3 шаблон тема 4 відповіді 398 переглядів fokokero 4 жовтня Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Rassol2 Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Как включить заглушку ? добавлены заглушки для товаров без фото в каталог, базовые модули и на страницу товара А то у меня в категории есть товары без фото, и они выводятся. Что очень не красиво. ну или узнать как она работает ? У меня есть вот такая вот ситуация Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона Еще вариант - если вы используете смтп, с ним почта может не работать за рандомные картинки отдельно спасибо. Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Насчет смтп в почте. Пробовал с обоими вариантами, результат один. Попробую еще сменить почту. Надіслати Поділитися на інших сайтах More sharing options... Kindzaza Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Я думаю вот об этом разговор, RGB я вас уже как то спрашивал про это. Так же жду :-) Надіслати Поділитися на інших сайтах More sharing options... Irmo Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGB, скажите пожалуйста, можно ли избавиться от вызова model_catalog_product->getTotalProducts() в catalog/controller/common/header.php, который прописывает туда vqmod/xml/moneymaker.xml? Для какой именно цели вы считаете там количество товаров? Строю магазин на тестовом сервере, с малым количеством товаров ничего не замечал, сейчас залил боевую нагрузку: 150 категорий, 18тыс. товаров, сразу стал ждать секунд по 5 на каждой карточке товара. В логах mysql по 60 запросов из getTotalProducts(), а они, как известно, тяжёлые. Надіслати Поділитися на інших сайтах More sharing options... rukol Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Надіслати Поділитися на інших сайтах More sharing options... Mirina Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Надіслати Поділитися на інших сайтах More sharing options... s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Во-первых отзывы не имеют никакого отношения к шаблону, а во-вторых, предположу, что вы используете отдельный модуль Recaptcha, и эта ошибка относится именно к этому модулю. Так что лучше задать этот вопрос автору модуля, а не шаблона. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Можно, в файле header.tpl после <div class="col-sm-12 col-md-4 col-md-height col-middle"> добавить то, что в исходном коде находится после тега <ul class="dropdown-menu keep_open">. Выбирай в коде свои телефоны и копируй полностью код. Похоже будет на вот такое: <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> Код можно добавить в div присвоив ему класс, например <div class="contact-plus"> В итоге получиться вот так приблизительно: <div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div> Я добавлял две строки выглядит неплохо. И конечно в пользовательские стили надо добавить, например: .contact-plus{ padding-bottom:15px; text-align: center; white-space: nowrap; } С отступами уже смотри сам. Вообще при желании можно добавить телефоны и в само меню, что в dropdown, но я не пробовал. Можно все сделать и через вкмод, создавай файл с таким содержимым <modification> <id>1</id> <version>1</version> <vqmver>1</vqmver> <author>1</author> <file name="catalog/view/theme/moneymaker/template/common/header.tpl"> <operation> <search position="after"><![CDATA[<div class="col-sm-12 col-md-4 col-md-height col-middle">]]></search> <add><![CDATA[<div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div>]]></add> </operation> </file> </modification> Ну только предварительно прописав свои телефоны. Надіслати Поділитися на інших сайтах More sharing options... hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGВ, подскажите как поменять иконку сравнения? Хочу добавить весы вместо, что в шаблоне. Не пойму как они туда выводяться. Вижу, что через файл стилей, но где физически добавить картинку? Надіслати Поділитися на інших сайтах More sharing options... Назад 62 63 64 65 66 67 68 69 70 71 72 Вперед Сторінка 67 з 290 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 10
hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Извините, начал вам отвечать, но меня отвлекли Рандомные картинки в слайдшоу https://opencartforum.com/topic/38076-moneymaker-продающий-интерактивный-шаблон/?do=findComment&comment=340676 Верно, "активность" кнопки зависит от кол-ва товара, а не от статуса, т.е. если у товара кол-во < 1, то кнопка не будет активной Если вы не хотите блокировать возможность покупки товара с 0-вым кол-вом, то просто отключите эту ф-цию в настройках шаблона Еще вариант - если вы используете смтп, с ним почта может не работать за рандомные картинки отдельно спасибо. Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Насчет смтп в почте. Пробовал с обоими вариантами, результат один. Попробую еще сменить почту. Надіслати Поділитися на інших сайтах More sharing options...
Kindzaza Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Насчет активности, понимаю, что к шаблону не относится, но можно как то выводить хоть какое-то сообщение, при статусе "Предзаказ", что для предзаказа нужно обращаться по телефону? Приблизительно уже буду пробовать разбираться далее сам Я думаю вот об этом разговор, RGB я вас уже как то спрашивал про это. Так же жду :-) Надіслати Поділитися на інших сайтах More sharing options...
Irmo Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGB, скажите пожалуйста, можно ли избавиться от вызова model_catalog_product->getTotalProducts() в catalog/controller/common/header.php, который прописывает туда vqmod/xml/moneymaker.xml? Для какой именно цели вы считаете там количество товаров? Строю магазин на тестовом сервере, с малым количеством товаров ничего не замечал, сейчас залил боевую нагрузку: 150 категорий, 18тыс. товаров, сразу стал ждать секунд по 5 на каждой карточке товара. В логах mysql по 60 запросов из getTotalProducts(), а они, как известно, тяжёлые. Надіслати Поділитися на інших сайтах More sharing options...
rukol Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Надіслати Поділитися на інших сайтах More sharing options...
Mirina Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Надіслати Поділитися на інших сайтах More sharing options...
s7ranger Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте! с отзывами какая то проблема Input error: k: Format of site key was invalid Скажите пожалуйста как можно исправить? Во-первых отзывы не имеют никакого отношения к шаблону, а во-вторых, предположу, что вы используете отдельный модуль Recaptcha, и эта ошибка относится именно к этому модулю. Так что лучше задать этот вопрос автору модуля, а не шаблона. Надіслати Поділитися на інших сайтах More sharing options...
hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Здравствуйте, можно ли сделать, чтобы в хедере отображались несколько главных телефонов? И можно ли иконки к ним операторов добавить? Можно, в файле header.tpl после <div class="col-sm-12 col-md-4 col-md-height col-middle"> добавить то, что в исходном коде находится после тега <ul class="dropdown-menu keep_open">. Выбирай в коде свои телефоны и копируй полностью код. Похоже будет на вот такое: <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> Код можно добавить в div присвоив ему класс, например <div class="contact-plus"> В итоге получиться вот так приблизительно: <div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div> Я добавлял две строки выглядит неплохо. И конечно в пользовательские стили надо добавить, например: .contact-plus{ padding-bottom:15px; text-align: center; white-space: nowrap; } С отступами уже смотри сам. Вообще при желании можно добавить телефоны и в само меню, что в dropdown, но я не пробовал. Можно все сделать и через вкмод, создавай файл с таким содержимым <modification> <id>1</id> <version>1</version> <vqmver>1</vqmver> <author>1</author> <file name="catalog/view/theme/moneymaker/template/common/header.tpl"> <operation> <search position="after"><![CDATA[<div class="col-sm-12 col-md-4 col-md-height col-middle">]]></search> <add><![CDATA[<div class="contact-plus"> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> <li class="text-left"><span><img alt="" src="catalog/view/theme/moneymaker/image/mobiles/mob-kyivstar.png" /> </span></li> </div>]]></add> </operation> </file> </modification> Ну только предварительно прописав свои телефоны. Надіслати Поділитися на інших сайтах More sharing options...
hover Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 RGВ, подскажите как поменять иконку сравнения? Хочу добавить весы вместо, что в шаблоне. Не пойму как они туда выводяться. Вижу, что через файл стилей, но где физически добавить картинку? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts