Recommended Posts

Всем, привет! Возник вопрос как спрятать вывод опций по id, те есть 2 группы опций на пример списки, один необходимо спрятать от вывода в карточке товара, тк он несет больше технический характер и не к чему для отображения покупателям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

universal/template/product/product.tpl
(OCSHOP1.5.6   шаблон:universal)
убираю из вывода option_id=16

 

		<operation>
			<search position="replace"><![CDATA[<div class="divh3"><?php echo $text_option; ?></div>]]></search>
			<add><![CDATA[
		
		<?php 
          $optExclude = array("16");
        ?>
			]]></add>
		</operation>
				<operation>
			<search position="after"><![CDATA[<?php foreach ($options as $option) { ?>]]></search>
			<add><![CDATA[
			<?php if ( !in_array( $option['option_id'], $optExclude ) ){ ?>
			]]></add>
		</operation>
		<operation>
            <search position="before" index="2"><![CDATA[
            <ul class="list-unstyled">
            ]]></search>
            <add><![CDATA[
            <?php } ?>
            ]]></add>
        </operation>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не знаю, зачем вам это, но решения для 2.х почти то же самое, что и господин выше предлагал

в шаблоне товара ищем строчку

<?php foreach ($options as $option) { ?>

добавляем после нее

<?php if (in_array($option['option_id'], array(1,2))) {continue;} ?>

где array(1,2) - это массив исключаемых для показа типов опций

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, savage4pro сказал:

не знаю, зачем вам это, но решения для 2.х почти то же самое, что и господин выше предлагал

в шаблоне товара ищем строчку


<?php foreach ($options as $option) { ?>

добавляем после нее


<?php if (in_array($option['option_id'], array(1,2))) {continue;} ?>

где array(1,2) - это массив исключаемых для показа типов опций

спасибо, а как исключить именно опцию по ID, тк у меня 2 опции список, и я один хочу спрятать от покупателей

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

как вариант, создайте новую опцию "список технический" с типом "список" и аналогичными вариантами и скройте ее из карточки как описано выше

вообще, сложно что-то советовать, если не понимать, зачем это надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

прошу прощения, наверное надо было сразу поконкретнее) есть 2 списка опций:

 Screenshot_12.png

 

хочу список Вес изделия скрыть, подумал сделать это через ИД этого списка опций

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тогда в чем проблема

заходите в админку в Каталог-Опции

выбираете "Вес изделия"

в адресной строке видите

index.php?route=catalog/option/edit&token=тарампампам&option_id=циферка

вот эту циферку и втыкаете сюда

<?php if (in_array($option['option_id'], array(циферка))) {continue;} ?>

а если еще надо опций напрятать, идете на страницы редактирования этих опций, запоминаете их option_id и добавляете в тот же array(циферка, циферка2, циферка3...)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Есть вот такой мод для версии 2.3.0.2

<file path="catalog/controller/product/category.php">
	<operation error="skip">
    <search><![CDATA[ $data['products'][] = array( ]]></search>
    <add position="before">
    <![CDATA[
    $var_currency = array();
    $var_currency['decimal_point'] = $this->language->get('decimal_point');
    $var_currency['thousand_point'] = $this->language->get('thousand_point');
    $data['currency'] = $var_currency;
	$options = $this->model_catalog_product->getProductOptions($result['product_id']);
	
	$this->document->addScript('catalog/view/javascript/opt_in_cat.js');
    ]]>
    </add>
    </operation>
	
	<operation error="skip">
    <search><![CDATA[ $data['products'][] = array( ]]></search>
    <add position="after"><![CDATA[ 
	'options' => $options,
	'price_no_format' => $result['price'],
    'special_no_format' => $result['special'],
	]]></add>
    </operation>
	
	<operation error="skip">
    <search><![CDATA[ $data['text_limit'] = $this->language->get('text_limit'); ]]></search>
    <add position="after"><![CDATA[ $data['text_select'] = $this->language->get('text_select'); ]]></add>
    </operation>
</file>
<file path="catalog/view/theme/*/template/product/category.tpl">
	<operation error="skip">
	<search><![CDATA[<?php echo $product['price']; ?>]]></search>
	<add position="replace"><![CDATA[ <span class="price_no_format<?php echo $product['product_id']; ?>" price="<?php echo $product['price_no_format']; ?>"><?php echo $product['price']; ?></span> ]]></add>
	</operation>
		
	<operation error="skip">
	<search><![CDATA[<?php echo $product['special']; ?>]]></search>
	<add position="replace"><![CDATA[ <span class="special_no_format<?php echo $product['product_id']; ?>" price="<?php echo $product['special_no_format']; ?>"><?php echo $product['special']; ?></span> ]]></add>
	</operation>
	
	<operation error="skip">
	<search><![CDATA[<?php if ($product['price']) { ?>]]></search>
	<add position="before"><![CDATA[
	<div class="options">
    <?php if ($product['options']) { ?>
    <div id="option_<?php echo $product['product_id']; ?>">
    <?php foreach ($product['options'] as $option) { ?>
    <?php if ($option['type'] == 'select') { ?>
    <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
    <?php if ($option['required']) { ?>*<?php } ?> <label><?php echo $option['name']; ?>:</label><br />
    <select name="option[<?php echo $option['product_option_id']; ?>]" onchange="recalc(<?php echo $product['product_id']; ?>);">
	<option value="" price_prefix="" price=""><?php echo $text_select; ?></option>
    <?php foreach ($option['product_option_value'] as $option_value) { ?>
    <option value="<?php echo $option_value['product_option_value_id']; ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?><?php } ?></option>
    <?php } ?>
    </select>
    </div>
    <?php } ?>
    <?php if ($option['type'] == 'radio') { ?>
    <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
	<?php if ($option['required']) { ?>*<?php } ?> <label><?php echo $option['name']; ?>:</label><br />
    <?php foreach ($option['product_option_value'] as $option_value) { ?>
    <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?><?php } ?></label> / 
    <?php } ?>
    </div>
    <?php } ?>
	<?php if ($option['type'] == 'checkbox') { ?>
    <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
	<?php if ($option['required']) { ?>*<?php } ?> <label><?php echo $option['name']; ?>:</label><br />
    <?php foreach ($option['product_option_value'] as $option_value) { ?>
    <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?><?php } ?></label> / 
    <?php } ?>
    </div>
    <?php } ?>
	<?php } ?>
    </div>
    <?php } ?>
    </div>
	]]></add>
	</operation>
	</file>

Выводятся опции

Размер  - id=13

и

Цвет - id=14

Необходимо спрятать цвет.
Прошу помощи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Похожие публикации

    • Автор: kimono11
      Добрый вечер. Второй день ищу решение по форумам, но безрезультатно.
      Стандартно опции плюсуют или вычитают от основной цены товара, по каждой единице.
      Мне нужно чтобы опция прибавлялась не к каждой единице, а к суммарному количеству.
      Пример:
      Делаем сахар с стиках с логотипом заказчика. Минимальный тираж 100кг. Есть дополнительные затраты на печатные формы(клише), которые плюсуются к тиражу (100, 200, 300 кг)
      Расчет тиража происходит по формуле:
        100кг*36,50+1клише*400,00=4050,00
        200кг*35,00+1клише*400,00=7400,00
       
      Как, каким модулем вывести клише опциями и прибавлять к тиражу?
    • Автор: morninglemon
      Приветствую.
      Такая ситуация, необходимо что бы одна из опций не учитывала количество товара. К любому количеству просто по опции должен идти плюс к сумме. Подскажите возможно уже готовое решение?
    • Автор: DenSib
      Приветствую, к товару 200шт создал порядка 15 фильтров ( ++ от 2 до 10 вариантов в одном фильтре). При заполнение товара столкнулся с проблемой неудобного автозаполнения фильтров, получается нужно помнить наизусть или постоянно смотреть в фильтрах все вариации, это отнимает очень много времени, подскажите есть ли возможность установить модуль для открытия сразу в товаре всех фильтров, или как изменить код?
    • Автор: AWARO
      FREE Positions
      дополнительные позиции для ветки oc2.3

      Модуль FREE Positions свободная версия модуля  HYPER Positions
      добавляет блок на 100% ширину под меню и над основным контентом и ещё один блок между футером и контентом

      Установка:
      В административной части во вкладке *Установка дополнений* загрузить архив.В административной части во вкладке *Менеджер дополнений* нажать кнопку обновления. Ни какие файлы не затираются
      Расширенная версия > тут
      Благодарность ваша это тыкнуть 5 звезд файлу если вам угодили! Это мотивирует нас на развитие модуля.
      Спасибо вам за спасибо!)
      Пользуйтесь на здоровье)
      Автор AWARO Добавлен 20.02.2017 Категория 2.х
      Скачать FREE Positions
      hyper_positions.ocmod.zip


    • Автор: mpn2005
      Обновление цены при выборе опции, без AJAX OC2
      При выборе опций товара выводит в цену товаров с учётом выбранных опциий.
       
      Возможности:
      Не используется AJAX Поддержка OpenCart2, ocStore2 Поддерживаемые модификаторы цены: +, -, =, *, +%, -% (Для =, *, +%, -% необходимо установить модуль options_price) Анимированная цена товара при изменении опций ( =, *, +% - при установленном модуле options_price - Оригинальный модль здесь )
      Для корректной работы используйте модуль модификаторов цены опции из этой темы.
      Демо ocStore 2.3.0.2: http://ocs2302.mpn-oc.org/test
       
      Настройки модуля находятся на закладке Локализация в конфигурации магазина
      Лицензия:
      Данное дополнение является бесплатным и распространяется по лицензии GNU GPL.
      Разрешается: модификация кода дополнения, использование с целью получения коммерческой выгоды, продажа или бесплатное размещение на других ресурсах.
       
      Версии модуля обновления цены:
      (NEW) autocalc_price_option_OC2_v3.0.11.ocmod.xml - Модуль обновления цены при выборе опции. autocalc_price_option_OC2_v3.0.10_unishop.ocmod.xml - Версия OC2 для шаблона UniShop. Поддержка обновления цены в быстром заказе.  
      Версии модуля доп. модификаторов к цене опции:
      options_price_v1.0.13_OC2.ocmod.xml - модуль модификаторов цены опций (=,  *,   /,  +%,  -%,)  
      Инструкция по установке OCMOD Opencart2, ocStore2:
      Файл autocalc_price_option_OC2_v3.0.11.ocmod.xml залить через админку в разделе Extension Installer (Кнопка Upload). Или положить файл в папку /system/ В разделе Modifications нажать кнопки Clear(Очистить) и Refresh(Обновить)  
      Особенности работы:
      Не используется AJAX, поэтому при подсчёте скидок учитывается только введённое количество (товар, лежащий в корзине, в расчёте не участвует). Автор mpn2005 Добавлен 26.04.2018 Категория 2.х  
      options_price_v1.0.13_OC2.ocmod.xml
      autocalc_price_option_OC2_v3.0.10_unishop.ocmod.xml
      autocalc_price_option_OC2_v3.0.11.ocmod.xml

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу