Jump to content

Recommended Posts

Доброго времени.

Необходимо реализовать в карточке товара вывод ссылки на тех документацию pdf

..../template/product/product.tpl добавил вывод ссылки 

<?php if (!$product['upc'] > 0) { ?> -(вот тут возникла проблема)
                        <a href="pdf/<?php echo $model; ?>.pdf" target="_blank"><img src="image/catalog/pdf.png" title="Техническая спецификация <?php echo $model; ?> pdf"                              alt="Техническая спецификация <?php echo $model; ?> pdf"/>
                        <a href="pdf/<?php echo $model; ?>.pdf" target="_blank" class="red-link">Техническая спецификация <?php echo $model; ?> PDF</a>

<?php } ?>

 

 

т.к. не во всех товарах есть pdf документ, хочу добавить условие >> если "upc >0", тогда выводим ссылку.

 

Вот только как правильно прописать в product.php

..../catalog/controller/product/product.php - что надо добавить ????

 

 

Заранее благодарен.

 

Share this post


Link to post
Share on other sites
Posted (edited)

<?php if ($product['upc']  { ?> 
// если upc не пустая строка то здесь выведется код иначе нет

<?php } ?>

 

в контроллер достаточно добавить $data['upc'] = $product_info['upc'];

Edited by stickpro

Share this post


Link to post
Share on other sites
34 минуты назад, stickpro сказал:

<?php if ($product['upc']  { ?> 
// если upc не пустая строка то здесь выведется код иначе нет

<?php } ?>

 

в контроллер достаточно добавить $data['upc'] = $product_info['upc'];

Спасибо. Вы забыли закрыть скобку ")" - <?php if ($product['upc']) { ?>

Попробовал - выдает ошибку -  template/product/product.tpl on line 767

Share this post


Link to post
Share on other sites
1 минуту назад, EYE сказал:

Позвольте узнать, http://prntscr.com/nqb5eu

1. Знак "!" убран.

2.  Указал

<?php if ($product['upc'])  { ?> 
// здесь выведется код 

<?php } ?>

в контроллер добавил $data['upc'] = $product_info['upc'];

3. В товаре в котором указано upc = 1 - ошибка template/product/product.tpl on line 767 и условие не выполняется 

4. В товаре с пустым значением upc - ошибка template/product/product.tpl on line 767 и условие не выполняется

Share this post


Link to post
Share on other sites
1 минуту назад, kiggo сказал:

1. Знак "!" убран.

2.  Указал

<?php if ($product['upc'])  { ?> 
// здесь выведется код 

<?php } ?>

в контроллер добавил $data['upc'] = $product_info['upc'];

3. В товаре в котором указано upc = 1 - ошибка template/product/product.tpl on line 767 и условие не выполняется 

4. В товаре с пустым значением upc - ошибка template/product/product.tpl on line 767 и условие не выполняется

 

Я задал лишь вопрос почему присутствовал вопросительный знак и не более.

Чтобы разобраться с ошибкой, нам нужно видеть строку 767, логично? Зачем дублировать это? Вы с первой строки не сразу понимаете?

Share this post


Link to post
Share on other sites
Posted (edited)
18 минут назад, EYE сказал:

 

Я задал лишь вопрос почему присутствовал вопросительный знак и не более.

Чтобы разобраться с ошибкой, нам нужно видеть строку 767, логично? Зачем дублировать это? Вы с первой строки не сразу понимаете?

Сорри.

с 8 часов утра голову от компа не отрывал. Может немного не понял Вас

ругается на кусок:

<div>
	<?php if ($product['upc']) { ?>
	<a href="pdf/<?php echo $model; ?>.pdf" target="_blank"><img style="width: 40px;" src="image/catalog/pdf.png" 
       title="Техническая спецификация <?php echo $model; ?> pdf" alt="Техническая спецификация <?php echo $model; ?> pdf"/>
	<a href="pdf/<?php echo $model; ?>.pdf" target="_blank" class="red-link">Техническая спецификация <?php echo $model; ?> PDF</a>
	<?php } ?>
</div>
          </div>
				</div>
				<?php if ($tags) { ?>
				<p style="margin-bottom: 20px;" class="red-links"><?php echo $text_tags; ?>
					<?php for ($i = 0; $i < count($tags); $i++) { ?>
					<?php if ($i < (count($tags) - 1)) { ?>
					<a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>,
					<?php } else { ?>
					<a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>
					<?php } ?>
					<?php } ?>
				</p>
				<?php } ?>
    </div>
		<div class="col-sm-12">
			<?php echo $content_bottom; ?>
		</div>
	</div>
	<?php echo $column_right; ?>
</div>

<script type="text/javascript">
$(window).load(function () {
	if (window.location.hash == '#review') {
		$('a[href=\'#tab-review\']').trigger('click');
		$('html, body').animate({ scrollTop: $('a[href=\'#tab-review\']').offset().top - 5}, 250);
	}   - - - - - - - - строка 767 !!!!!!!!
});

 

Edited by kiggo

Share this post


Link to post
Share on other sites

Какая строка 767?

Share this post


Link to post
Share on other sites
Posted (edited)
<?php for ($i = 0; $i < count($tags); $i++) { ?>

Это строка не верна логически.

 

$count = count($tags);

<?php for ($i = 0; $i < $count; $i++) { ?>

Edited by EYE

Share this post


Link to post
Share on other sites
6 минут назад, EYE сказал:

Это строка не верна логически.

 

$count = count($tags);

<?php for ($i = 0; $i < $count; $i++) { ?>

Простите, а в чём разница?

 

Share this post


Link to post
Share on other sites
40 минут назад, kiggo сказал:

3. В товаре в котором указано upc = 1 - ошибка template/product/product.tpl on line 767 и условие не выполняется 

4. В товаре с пустым значением upc - ошибка template/product/product.tpl on line 767 и условие не выполняется

Приведите полный текст ошибки.

Может проблема банально в том, что в контроллере не назначена данная переменная.

 

Share this post


Link to post
Share on other sites
Только что, mpn2005 сказал:

Простите, а в чём разница?

 

Вы серьезно?

Share this post


Link to post
Share on other sites
Только что, EYE сказал:

Вы серьезно?

Обоснуйте.

 

Share this post


Link to post
Share on other sites
Только что, mpn2005 сказал:

Обоснуйте.

 

Строка работает но не верна..

Share this post


Link to post
Share on other sites

И не надо писать, что содержимое $tags может изменится.

Т.к. нет смыла итерировать по уже устаревшей мнформации и выходить за пределы массива.

Share this post


Link to post
Share on other sites
Только что, EYE сказал:

Строка работает но не верна..

Вы шутите? Обе записи идентичны с точки зрения машинного выполнения.

 

Share this post


Link to post
Share on other sites
Только что, mpn2005 сказал:

И не надо писать, что содержимое $tags может изменится.

Т.к. нет смыла итерировать по уже устаревшей мнформации и выходить за пределы массива.

=))))

Share this post


Link to post
Share on other sites
Только что, mpn2005 сказал:

Вы шутите? Обе записи идентичны с точки зрения машинного выполнения.

 

Ошибаетесь.

Share this post


Link to post
Share on other sites
1 минуту назад, EYE сказал:

Строка работает но не верна..

Вот тут подробнее и аргументирванно.

Share this post


Link to post
Share on other sites
Только что, mpn2005 сказал:

Вот тут подробнее и аргументирванно.

Дам намёк, когда мы определяем переменную, мы говорим о том, что этот участок кода пишется в память, понимаем?  А что творится с тем, что определяется каждую итерацию?

Share this post


Link to post
Share on other sites
18 минут назад, EYE сказал:

Какая строка 767?

<script type="text/javascript">
$(window).load(function () {
	if (window.location.hash == '#review') {
		$('a[href=\'#tab-review\']').trigger('click');
		$('html, body').animate({ scrollTop: $('a[href=\'#tab-review\']').offset().top - 5}, 250);
	}   - - - - - - - - строка 767 !
});

Share this post


Link to post
Share on other sites
3 минуты назад, EYE сказал:

Дам намёк, когда мы определяем переменную, мы говорим о том, что этот участок кода пишется в память, понимаем?  А что творится с тем, что определяется каждую итерацию?

Вы архитектор языка php на уровне бинарного кода?

Вы так представляете себе что при каждой итерации будет пересчёт количества элементов?

Нет. Сранение в двух случаях идёт с одной перменной. 

Только если массив изменится, то перепишется перменная сравнения.

Сделайте синтетический тест и проверьте.

Уделите больше внимания тестам на php7.

 

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

Есть свёртки операций и оптимизация.

Share this post


Link to post
Share on other sites
Только что, mpn2005 сказал:

Вы архитектор языка php на уровне бинарного кода?

Вы так представляете себе что при каждой итерации будет пересч1т количества элементов?

Нет. Сранение в двух случаях идёт с одной перменной. 

Только если массив изменится, то перепишется перменная сравнения.

Сделайте синтетический тест и проверьте.

Уделите больше внимания тестам на php7.

 

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

Есть свёртки операций и оптимизация.

 

Вы в своём тексте ошиблись и не указали на реальную.

Share this post


Link to post
Share on other sites
2 минуты назад, kiggo сказал:

<script type="text/javascript">
$(window).load(function () {
	if (window.location.hash == '#review') {
		$('a[href=\'#tab-review\']').trigger('click');
		$('html, body').animate({ scrollTop: $('a[href=\'#tab-review\']').offset().top - 5}, 250);
	}   - - - - - - - - строка 767 !
});

Скиньте в личку доступы. И сссылку на карточку товара.

Помогу разобраться.

Share this post


Link to post
Share on other sites
Только что, EYE сказал:

Вы в своём тексте ошиблись и не указали на реальную.

Будет что-то по существу?

А не домыслы. Строчка рабочая, но не верная.

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.