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

Как убрать отступ при создании модификатора ?


Recommended Posts

Здравствуйте

 

Я создал модификатор и он нормально работает, но если я открываю просмотр кода (ну или исследования), то я вижу у своего текста здоровые отступы и не втыкаю от чего они появляются и  как это контролировать.  Можете пояснить пожалуйста как это делается. И если не сложно, может кто-то сказать, есть ли возможность делать search не по одной строке (например {{footer}}), а по нескольким например:
 

<div>
 <div class="NNNNNNNNNNNNNNNN">
  <div asddasdas>

как мне записать это в search, надо ли соблюдать отступы ?

2020-04-23_02-38-02.png

Надіслати
Поділитися на інших сайтах

18 часов назад, AlexDW сказал:

напрямую зависит от кода вашего модификатора

 

<?xml version="1.0" encoding="UTF-8"?>
<modification>
	<code>dependent-options</code>
	<name>Dependent Options</name>
	<version>1.0 (for v. 3.0)</version>
	<author>wowast</author>

	<file path="catalog/view/theme/default/template/product/product.twig">
    <operation>
			<search><![CDATA[{{ footer }}]]></search>
			<add position="before"><![CDATA[<script type="text/javascript"><!--
				{% for optitem in optitems %}

				{% if optitem.opt2_hidden == "hidden" %}
				{% if optitem.prod_opt2_val == "all" or optitem.prod_opt2_val == "none" %}
				$("#input-option{{optitem['prod_opt2_id']}}").closest('.form-group').fadeOut();
				{% else %}
					{% if optitem.opt2_type == "checkbox" %}
				$('input[value={{optitem["prod_opt2_val"]}}]').closest('.checkbox').fadeOut();
					{% endif %}
					{% if optitem.opt2_type == "radio" %}
				$('input[value={{optitem["prod_opt2_val"]}}]').closest('.radio').fadeOut();
					{% endif %}
					{% if optitem.opt2_type == "select" %}
				$("#input-option{{optitem['prod_opt2_id']}} option[value={{optitem['prod_opt2_val']}}]").fadeOut();
					{% endif %}
				{% endif %}
				{% endif %}

				{% if optitem.prod_opt1_val != "none" %}
				$({% if optitem.opt1_type == "checkbox" or optitem.opt1_type == "radio" %}{% if optitem.prod_opt1_val == "all" %}'#input-option{{optitem["prod_opt1_id"]}} input'{% else %}'input[value={{optitem["prod_opt1_val"]}}]'{% endif %}{% elseif optitem.opt1_type == "select" %}'#input-option{{optitem["prod_opt1_id"]}}'{% endif %}).change(function() {
					if ($(this).val() == '{{optitem["prod_opt1_val"]}}'{% if optitem.opt1_type == "checkbox"%} && $(this).is(':checked'){% endif %} || '{{optitem["prod_opt1_val"]}}' == 'all' {% if optitem.opt1_type == "checkbox"%} && $(this).is(':checked'){% endif %}) {
					{% if optitem.opt1_type == "checkbox"%}
						$('#input-option{{optitem["prod_opt1_id"]}} input').prop('checked', false);
						$(this).prop('checked', true);
					{% endif %}
					{% if optitem.prod_opt2_val == "all" %}
						$("#input-option{{optitem['prod_opt2_id']}}").closest('.form-group').fadeIn();
					{% elseif optitem.prod_opt2_val == "none" %}
					{% else %}
						{% if optitem.opt2_type == "checkbox" %}
						$('input[value={{optitem["prod_opt2_val"]}}]').closest('.checkbox').fadeIn();
						{% endif %}
						{% if optitem.opt2_type == "radio" %}
						$('input[value={{optitem["prod_opt2_val"]}}]').closest('.radio').fadeIn();
						{% endif %}
						{% if optitem.opt2_type == "select" %}
						$("#input-option{{optitem['prod_opt2_id']}} option[value={{optitem['prod_opt2_val']}}]").fadeIn();
						{% endif %}
					{% endif %}

					{% if optitem.prod_opt3_val == "all" %}
						{% if optitem.opt3_type == "checkbox" or optitem.opt3_type == "radio" %}
						$("#input-option{{optitem['prod_opt3_id']}} input").prop('checked', false);
						{% endif %}
						{% if optitem.opt3_type == "select"%}
						$("#input-option{{optitem['prod_opt3_id']}} option").prop('selected', false);
						{% endif %}
						$("#input-option{{optitem['prod_opt3_id']}}").closest('.form-group').fadeOut();
					{% elseif optitem.prod_opt3_val == "none" %}
					{% else %}
						{% if optitem.opt3_type == "checkbox" %}
						$('input[value={{optitem["prod_opt3_val"]}}]').prop('checked', false);
						$('input[value={{optitem["prod_opt3_val"]}}]').closest('.checkbox').fadeOut();
						{% endif %}
						{% if optitem.opt3_type == "radio" %}
						$('input[value={{optitem["prod_opt3_val"]}}]').prop('checked', false);
						$('input[value={{optitem["prod_opt3_val"]}}]').closest('.radio').fadeOut();
						{% endif %}
						{% if optitem.opt3_type == "select" %}
						$("#input-option{{optitem['prod_opt3_id']}} option[value={{optitem['prod_opt3_val']}}]").prop('selected', false);
						$("#input-option{{optitem['prod_opt3_id']}} option[value={{optitem['prod_opt3_val']}}]").fadeOut();
						{% endif %}  
					{% endif %}
					}
				});
				{% endif %}
				{% endfor %}
			//--></script>]]></add>
		</operation>
	</file>


</modification>

 

Надіслати
Поділитися на інших сайтах

да нет никаких проблем

просто у вас сам код вывода обернут в различные условия

которые в свою очередь имеют отступы и переводы строк

 

вот и получается на выходе код с этими отступами/переводами

Надіслати
Поділитися на інших сайтах

Принял для себя такие правила

<search><![CDATA['product_id') {]]></search>
<add  position="replace"><![CDATA['product_id') {]]></add>
 

 

<search><![CDATA['product_id') {]]></search>
<add  position="before|after"><![CDATA[

'product_id') {

]]></add>
 

Такие добавляют еще по строке

<search><![CDATA['product_id') {]]></search>
<add  position="before|after">

<![CDATA[

'product_id') {

]]>

</add>

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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