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

afinalux

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

    61
  • З нами

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

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

  1. @Exploits

    Добрый день!

    Подскажите, можно ли в стандартном функционале модуля выдавать выгрузку с разными ценами разным клиентам, например по id в GET.

    Типа site.ru/link-to-export/?id=1234123, где id - некий код клиента.

    При этом должны подгружаться определенные цены.

    Плюс хочется прописывать в БД клиенту дату и время последнего обращения к выгрузке.

    Потребует ли это кастомных доработок модуля, или всем можно сделать в настройках(конечно, я понимаю, что придется добавить столбец в БД) и использовав возможность прописывания своего php кода.

     

    Спасибо.

  2. Можете вот так:

    <table class="table">
                   <?php foreach ($totals as $total) { ?>
      			<?php	if ($total['title'] == "Подитог:") { ?>
      			<?php continue; ?>
      			<?php } ?>
                   <tr>
                      <td class="text-right"><strong><?php echo $total['title']; ?></strong></td>
                      <td class="text-right"><?php echo $total['text']; ?></td>
                   </tr>
                   <?php } ?>
                </table>

    Может есть более изящные решения, но это первое, что пришло в голову =)

  3. Скорее всего проблема в переменной $limit

    if (isset($this->request->get['limit'])) {
    			$limit = (int)$this->request->get['limit'];
    		} else {
    			$limit = $this->config->get($this->config->get('config_theme') . '_product_limit');
    		}

    Вот отсюда она берется.

    Проверьте в настройках:

    1. В шаблоне: что прописано в поле количество выводимого товара (убедитесь, что там числовое значение)

    2. (На всякий случай) Настройки > Опции > Элементов на странице (убедитесь, что там числовое значение)

     

     

  4. @AlexTurner  

    Да, скорее всего дело в том, что в одном из полей товара или категории, где предполагается числовое значение(цена, порядок сортировки и т.д.) у вас введено не числовое значение.

    Оно могло туда попасть и из выгрузки, например, перепутаны поля и описание попало в цену или импортировалось вместе с кавычками или еще что-то.

    Если это касается $limit, то проверьте в поле настроек количества выводимого товара что вбито, там могли прописать что-то.

  5. 10 минут назад, shoputils сказал:


    Причем тут шаблон? Размещайте подобные вопросы в соответствующих темах форума.  Может кто-то на общественных началах подскажет.  Если вам надо срочно и точно -  могу вас проконсультировать или сделать, но это платно.

    При том, что шаблон модифицирует файл контроллера и я предположил, что проблема связана с этим.

    Если вы уверены, что это не так, напишите, я буду копать в другом месте.

     

    testvar.jpg

  6. Добрый день!

    Есть проблема:

    Добавляю в контроллере product.php в массив продуктов

     $data['products'][] = array(

    новую переменную

    'testvar'	   => "Hello, World!"

    Вывожу ее в шаблоне product.tpl вывожу ее

    <h2> <?php echo $testvar; ?></h2>
    

    Получаю ошибку:

    NOTICE: UNDEFINED VARIABLE: TESTVAR IN /HOME/SITE.RU/PUBLIC_HTML/CATALOG/VIEW/THEME/JULYTHEME/TEMPLATE/PRODUCT/PRODUCT.TPLON LINE 259

    Я полагаю, что модификатор темы тут замешан. Прошу указать что в нем поправить.

    Спасибо.

  7. У модуля есть печальная особенность не проверять на наличие товара перед выводом.

    Решается довольно просто. Добавляем в модель вот в эту строку AND p.quantity > 0 

    $sql .= " WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; 

    Чтоб получилось так:

    $sql .= " WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.quantity > 0  AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; 

    И все работает.

  8. @Aleksandr777

    Для опенкарта 1.5 нет модуля.

    Придется интегрировать "вручную", как и написано в инструкции.

    Я это делал на своем сайте.

    Напишите в личку как вы это хотите видеть у себя на сайте, возможно смогу помочь.

  9. @shvevgen

    Топаешь в \system\library\cart.php

    Находишь 

    public function getWeight() {
    		$weight = 0;
    	
        	foreach ($this->getProducts() as $product) {
    			if ($product['shipping']) {
          			$weight += $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
    			}
    		}
    	
    		return $weight;
    	}

    Добавляешь после(можно функцию получше написать, но лень):

    public function getMaxWeight() {
    		$weight = 0;
    	
        	foreach ($this->getProducts() as $product) {
    			if ($product['shipping']) {
    				if ($weight < $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'))) {
    					$weight = $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
    				}
    			}
    		}
    	
    		return $weight;
    	}
    	

    Далее, топаешь в \catalog\model\shipping\dostavkaplus.php

    Ищешь 

     $weight = $this->weight->convert($this->cart->getWeight(), $this->config->get('config_weight_class_id'), $module['weight_class_id']);

    Меняешь на 

     $weight = $this->weight->convert($this->cart->getMaxWeight(), $this->config->get('config_weight_class_id'), $module['weight_class_id']);

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

    У себя не проверял, но должно сработать.

    P.S: Лучше сделай бекап!

     

    @louise170

    Вроде не должно сломаться ? =)

  10. @susha

    Файл catalog/view/theme/default/stylesheet/stylesheet.css

    Строка №1054

    @media (max-width: 767px)
    #product label {
        float: left;
        margin: 8px 9px 0 0;
    }

    Удалить оттуда "float:left;", чтобы было вот так:

    @media (max-width: 767px)
    #product label {
        margin: 8px 9px 0 0;
    }

     

    Строка  №1049

    @media (max-width: 767px)
    #product > .form-group .row div:first-child {
        padding-right: 0px;
        margin-top: 25px;
        min-width: 210px;
    }

    Удалить оттуда "margin-top: 25px;",  и заменить "min-width: 210px;" на "min-width: 180px;" чтобы было так:

    @media (max-width: 767px)
    #product > .form-group .row div:first-child {
        padding-right: 0px;
        min-width: 180px;
    }

     

    Получится так:

    screenshot-marichay.ru-2018_07.24-16-31-17.png.975da908f4096cdc177be6112aad2f1f.png

     

    • +1 1
  11. @Elena8

    Для того, что вы хотите нужно:

    1. Задать "старую" розничную цену, как основную, а новую со скидкой во вкладке "Акции" в настройках товара. Тем самым вы добьетесь, что у вас будет перечеркнута высокая цена и показана низкая.

    2. Добавить оптовую цену во вкладке "Скидки" в настройках товара.

    3. Вывести оптовую цену везде где вам нужно, если она там еще не выводится в вашем шаблоне.

  12. Как вариант "дешево и сердито":

    Заносим кол-во кв.м в упаковке в любое неиспользуемое поле товар(jan, например). 

    Или используем для этого атрибуты.

    Идем в контроллер товара и добавляем вывод этого поля в шаблон(если атрибуты, то они и так обычно уже там есть)

    В шаблоне для вывода кол-ва кв.м делаем кол-во * на содержимое нашего поля/атрибута

    Для отображения всяких там цен за кв.м производим соответствующие арифметические операции с нашим полем/атрибутом.

    Подробнее могу в личке рассказать или сделать сам, но за деньги.

  13. @Wild,

    Я правильно понимаю:

    Цена опции = Цена продукта * Кол-во в упаковке + Некое значение ?

    Некое значение - абсолютно отдельная величина, которая не имеет отношение к цене товара и кол-ву в упаковке?

     

    То есть:

    Цена упаковки красных конфет = 100 руб * 5шт + 44руб = 544руб

    Цена упаковки зеленых конфет = 100 руб * 5шт + 39руб = 539руб 

     

    Или оно все же на что-то завязано, типа:

    Цена опции = Цена продукта * Кол-во в упаковке + Цена продукта * х(зависит от чего-то, например, от кол-ва в упаковке) ?

  14. Для csv: СSV Price Pro

    Для YML/XML: Вот это

    Далее настраиваем на хостинге через cron формирование файлов через нужные промежутки времени.

    Создаем информационную страницу(статью), куда кидаем ссылки на файлы.

    Даем ссылку на страницу клиентам.

    PROFIT!

     

     

  15. @kur1977  Добрый день!

    Скажите, а есть ли возможность доработать модуль, чтобы он при выборе нескольких групп покупателей не создавал вкладки, а делал дополнительные колонки в этой же вкладке с ценой для всех выбранных групп? Сколько будет стоить такая доработка?

    Мне нужен именно такой вид и если такое возможно, приобрету модуль.

    Спасибо за ответ!

  16. 42 минуты назад, iglin сказал:

    Верно она у вас закралась) Чтобы озаботиться наличием ['name'] придётся копать сильно глубже. 

    -----------cпустя полчаса раздумий-----------

    Если для какого то определённого модуля эта штука требуется, то в голову вот такой костыль пришёл) :

    1. В контроллера левой колонки и правой колонки if ($part[0]=='код модуля') то посылаем в функцию index контроллера модуля переменную с обозначением колонки

    2. В контроллере модуля эту переданную переменную вписываем в $data['переменная_колонки']

     3. В модуль.tpl  'id='.переменная_колонки.'_идентификатор_модуля'

    Уоу-уоу-уоу, палехче :D Я пока не настолько продвинут в php и opencart.

    Прошу вас более детально описать действия, конкретно первый эта:

     if ($part[0]=='код модуля')   - не совсем понятно, что есть $part[0] и где взять 'код модуля' и как и послать их в контроллер =)

    Остальное понятно.

     

    P.S: в данном случае реализовать это требуется на ocStore 1.5.5.1.2, если это имеет значение.

    Спасибо за уделенное время!

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

Important Information

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