@boul

Как прописать условие для opencart?

Всем привет и с праздниками!
Знатоки, подскажите, как прописать в JS такое условие:
Если цена указана, то выводится:
1) Цена
2) кнопка "в корзину"
3) кнопка "заказать звонок"
Если цена не указана, то выводится только кнопка "Заказать звонок"
Вот код, с кнопкой "Заказать звонок"
$(function() {

	// Купить в один клик
	$('.product-layout > .product-thumb').each(function (e) {

		e +=1;

		var img_url = $(this).find('.img-responsive').attr('src'),
				item_name = $(this).find('h4 a').text(),
				item_price = $(this).find('.price').html(),
				admin = $('#callback [name=admin_email]').val();

		$(this).after('\
		<div id="pp-item-' + e + '" class="product-popup">\
			<h2>Заказать звонок</h2>\
			<div class="pp-img-wrap"><img src="' + img_url + '" alt="my_site"></div>\
			<div class="pp-content">\
				<h3>' + item_name + '</h3>\
				<p>' + item_price + '</p>\
				<form class="ajax-form">\
					<input type="hidden" name="project_name" value="Narniya">\
	        <input type="hidden" name="admin_email" value="' + admin + '">\
	        <input type="hidden" name="form_subject" value="Заявка с сайта My_site">\
	        <input type="hidden" name="Продукт" value="' + item_name + '">\
	        <input class="form-control" type="text" name="Телефон" placeholder="Введите ваш телефон..." required>\
	         <button class="btn btn-primary">Заказать</button>\
				</form>\
				<div class="success">Спасибо за заявку!</div>\
			</div>\
		</div>');

		$(this).find('.button-group').append('<a class="button toclick" href="#pp-item-' + e + '">Заказать звонок</a>');
		$(this).parent().attr({
			'class' : 'product-layout col-lg-4 col-md-3 col-sm-6 col-xs-12'
			
			
		});

	});

	$('.product-thumb h4').css('height', '').equalHeights();

	$('.toclick, .callback').magnificPopup({
		mainClass: 'mfp-zoom-in',
		removalDelay: 400
	});

	//E-mail Ajax Send
	$(".ajax-form").submit(function() {
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "catalog/view/theme/gwng/mail.php",
			data: th.serialize()
		}).done(function() {
			var pp_suc = th.closest('.product-popup').find('.success');
			pp_suc.fadeIn();
			setTimeout(function() {
				th.trigger("reset");
				pp_suc.fadeOut();
				$.magnificPopup.close();
			}, 4000);
		});
		return false;
	});

});

в идеале, хотелось бы доработать сей код.
Подскажите, как это можно доделать.
Спасибо.
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
IceRD
@IceRD
JS вообще не нужен.
Сделайте это правильно, на уровне шаблона.
при отображении товара проверяете {% if price %} и отображаете информацию или только кнопку заказать звонок.
На кнопку заказать звонок вешаете ваше событие.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы