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

ANiMAL

Користувачі
  
  • Публікації

    188
  • З нами

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

Повідомлення, опубліковані користувачем ANiMAL

  1. Попробуйте по аналогии сделать с тем кодом, что я привел. В файле контролера товаров есть код:

    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;
    							}
    

    в этом цикле добавьте свои переменные и определяйте минимальную и максимальную цену для опций

  2. Здравствуйте!

    Возникла следующая проблема. Допустим, есть товар, у которого имеются несколько разных комплектаций. Допустим, три штуки. Они отличаются стоимостью: 1000 р., 2000 р. и 3000 р. Создавать три разных товара с практически одинаковым описанием не хочется, хочется всё объединить в одну позицию. Как это сделать – понятно (ясно, что можно настроить выбор нужной комплектации, например, через chekbox, в итоге нужная стоимость посчитается в корзине). Но хотелось бы, чтобы в таком случае цена отображалась в диапазоне, то есть 1000...3000 р. Прикрепляю скриншоты с местами, где нужно видеть интервал, а не начальную цену. Подскажите, пожалуйста, есть ли способ добиться этого.

    Была похожая задача, только нужно быто вывести минимальную цену из скидок вместо цены товара.

    В контролере категории /catalog/controller/product/category.php перед $this->data['products'][] = array(

    добавил код:

    				$discounts = $this->model_catalog_product->getProductDiscounts($result['product_id']);
    
    				if (count($discounts) > 0) {
    				$discount_min = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    		    			foreach ($discounts as $discount) {
    					if (floatval($discount['price']) < floatval($discount_min)) $discount_min = $discount['price'];
    		    			}
    				$discount_min = $this->currency->format($this->tax->calculate($discount_min, $result['tax_class_id'], $this->config->get('config_tax')));			
    				} else {
    				$discount_min = false;
    				}
    

    и в массив $this->data['products'][] = array(

    добавить

    'discounts' => $discount_min,

     

    Затем в шаблоне категорий вывел переменную в нужном месте

    		<div class="discount">от 
    		<?php echo $product['discounts']; ?>
    		</div>
    

    Если будете делать скидками то этот способ вам поможет, только вам в цикле (в контроллеле) нужно будет еще найти максимальное значение.

     

    P.S сори напутам, вам скидки не подойдут. Хотя может с опциями можно аналогично проделать

  3. Здравствуйте!

    Установил модуль "простой заказ/оформление 0.0.7" и в админке изменился цвет фона на черный. Стало не читабельно. Сайт работает нормально. Из бекапа положил все файлы обратно, а ничего не изменилось.

    Как побороть этот косяк?

     

    Нужно смотреть вживую, сделайте демопользователя и выложите доступ

  4. Что у вас из SEO модулей установлено?

    Нужно проверить контроллеры каталога и товаров

    для вывода страницы 404 в них используется конструкция - if ($category_info) {  и if ($product_info) {- это если категория/товар есть, а если нет

         } else {

    ...

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl'))

  5. Исходник не помог. Sitemap.xml у меня сгенерирован на одном онлайн сервисе и лежит в корне сайта, google sitemap отключен, как и google base.

    П.С. Удалил файл из корня sitemap, стала работать sitemap.html. Как поступить, включить google sitemap и сделать 301 редирект на sitemap.xml в htaccess ?

    Вы определитесь какую карту сайта вам использовать. У вас система генерирует sitemap и так как указано окончание html то получается sitemap.html. И вы тут же кидаете в корень sitemap.html. Убирайте сгенерированный сторонним сервисом и пользуйтесь системным.

  6. Проверь файл контроллера для сайтмапа, скопируйте его заново с дистрибутива - /catalog/controller/information/sitemap.php

    Посмотри в админке в Дополнения -  Каналы продвижения включен ли Google Sitemap, если да то попробуй удалить и установить заново.

     

    И еще в htaccess не хватает:

    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]

    после RewriteBase /

  7. Сам придумал проблему сам решил ) Правда не так как хотелось через контроллер, а через шаблон. Может кто поможет решить это через контроллер и вывести в отдельную переменную?

     

    В /catalog/controller/product/product.php есть такой код:

    			$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')))
    				);
    			}
    

    Есть функция php - min(array()) она может находить минимум из массива, а вот как это все правильно использовать с массивом скидок, моих познаний не хватает )

     

    Пока сделла по топорному в шаблоне товара:

    		<?php if ($discounts) { ?>
    		<div class="discount">от 
    	  <?php $price_min = $price; ?>
              <?php foreach ($discounts as $discount) { ?>
              	<?php if ($discount['price'] < $price) {
    			$price_min = $discount['price'];
    		} ?>
              <?php } ?>
    		<?php echo $price_min; ?>
    		</div>
    		<?php } else { ?>
    		<?php echo $price; ?>
    		<?php } ?>
    
  8. Нужно создать новую позицию в категории  - /catalog/view/theme/ТЕМА/template/product/category.tpl

    Делаю все как по инструкциям (их хватает в сети):

    Создал новый контроллер - /catalog/controller/product/category_top.php (за основу взят content_top, заменил название и поменял на свою позицию category_top. Файл прикрепил сюда)

    В контроллере каталога (/catalog/controller/product/category.php) добавил подключение нового

    $this->children = array(
    				'product/category_top',
    				'common/column_left',
    				'common/column_right',
    				'common/content_top',
    				'common/content_bottom',
    				'common/footer',
    				'common/header'
    			);
    

    Создал файл шаблона для новой позиции - /catalog/view/theme/ТЕМА/template/product/category_top.tpl

    <?php foreach ($modules as $module) { ?>
    <?php echo $module; ?>
    <?php } ?>
    

    Добавил вывод позиции в шаблон каталога - /catalog/view/theme/ТЕМА/template/product/category.tpl

    <?php echo $category_top; ?>
    

    Но сайт упорно выдает ошибку, что переменная неизвестна:

    Notice: Undefined variable: category_top

     

    Подскажите кто знает, что не так сделал?

    category_top.php

  9. Добрый день.

    Подскажите как реализовать следующее:

    • есть базовая цена товара, задается на вкладке данные, поле цена
    • есть еще 4-5 цен, которые зависят от количества заказа, я из задаю на вкладке Скидки - http://prntscr.com/5huj00

    можно этот процесс както автоматизировать? Или может есть готовые решения? 

    Возможно добавить функцию при сохранении, чтобы записывала в БД? Или сделать кнопку и по ней добавлять эти скидки? Направьте в правильное русло )

  10. C подсчетом вроде разобрался, но появилась другая проблема, в магазине часто меняются/пополняются товары. И есть такие заказы товары из которых уже нет в магазинет. И я получаю ошибку Undefined index: weight in .../www/admin/controller/sale/order.php on line 1689.

    Я так понимаю что нужно сделать проверку в контроллере на наличте товара.

     

    Вот код контроллера, ошибка в строке - 'weight'   => $product_info['weight'],:

     

    				$product_info = $this->model_catalog_product->getProduct($product['product_id']);
    
    				$this->data['products'][] = array(
    					'order_product_id' => $product['order_product_id'],
    					'product_id'       => $product['product_id'],
    					'name'    	 	   => $product['name'],
    					'thumb'    		   => $thumb,
    					'model'    		   => $product['model'],
    					'sku'			   => $product_info['sku'],
    					'weight'		   => $product_info['weight'],
    					'option'   		   => $option_data,
    					'quantity'		   => $product['quantity'],
    					'price'    		   => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
    					'total'    		   => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']),
    					'href'     		   => $this->url->link('catalog/product/update', 'token=' . $this->session->data['token'] . '&product_id=' . $product['product_id'], 'SSL')
    				);
    			}
    
  11. Помогите добавить в заказе в админке подсчет суммы веса и количества заказаных товаров.

    Сейчас есть все по отдельности для каждого товара, а нужно их подитожить - http://prntscr.com/5d842h

    Как это оправильно сделать? Логично добавить к итоговой таблице, где подсчитывается сумма - http://prntscr.com/5d852m

     

  12. А в какой функции правили? попробуйте в getProducts, а не в getProduct

    Спасибо тебе добрый человек ) помогло, только еще добавил и в функцию gettotals, а то в пагинации все страницы выводились, а фактически товаров то нет там.

  13. Нужно отключить товары которых нет в наличии (с остатком 0) для отображения в категории, но при этом оставить доступным ссылки на эти отключенные товары.
    Пробовал способ в моделе товара (/catalog/model/catalog/product.php) добавить к выборке p.status = '1' еще выборку кол-ва - p.status = '1' AND p.quantity > '0' в категирии товар пропадает, все как нужно но перестает работать и ссылка на товар, но не пойму почему, т.к товар я не отключаю.

  14. Вот эту строку <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>

    Сделал вот такой <?php echo $child['name']; ?>

    Подкатегории стали не активны

    Все правильно, я тебе об этом и говорил, что  active там не один раз: для категорий и подкатегорий. В общем проблема решена )

  15. Попробуй так

    <div class="box">
      <div class="box-heading"><?php echo $heading_title; ?></div>
      <div class="box-content">
        <div class="box-category">
          <ul>
            <?php foreach ($categories as $category) { ?>
            <li>
              <?php if ($category['category_id'] == $category_id) { ?>
             <span class="active"><?php echo $category['name']; ?></span>
              <?php } else { ?>
              <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
              <?php } ?>
              <?php if ($category['children']) { ?>
              <ul>
                <?php foreach ($category['children'] as $child) { ?>
                <li>
                  <?php if ($child['category_id'] == $child_id) { ?>
                  <span class="active"> - <?php echo $child['name']; ?></span>
                  <?php } else { ?>
                  <a href="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a>
                  <?php } ?>
                </li>
                <?php } ?>
              </ul>
              <?php } ?>
            </li>
            <?php } ?>
          </ul>
        </div>
    
×
×
  • Створити...

Important Information

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