COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

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>

 

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

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...)

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

  • 3 years later...

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

Есть вот такой мод для версии 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

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

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

  • 1 year later...

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.