PHP-эхо Magento Fancybox

Я создал атрибут под названием «youtube» (только текстовое поле) на magento. В это текстовое поле я помещаю URL-адреса видео YouTube, например (www.youtube.com/embed/nk_FpiXp-3s) и т. д.

Итак, моя проблема в том, что я пытаюсь php повторить этот атрибут «youtube» внутри моего html-кода href.

 <a class="various fancybox.iframe" href="<?php echo $_product->getAttributeText('youtube')?>">Youtube (iframe)</a>

но это, кажется, сломать страницу. Также мой скрипт fancybox.

<script>
   var $j = jQuery.noConflict();
   $j(".various")
       .attr('rel', 'gallery')
       .fancybox({
       openEffect  : 'none',
       closeEffect : 'none',
       nextEffect  : 'none',
       prevEffect  : 'none',
       padding     : 0,
       margin      : [20, 60, 20, 60] // Increase left/right margin
   });
</script>    

Любые советы, ребята? Это настраиваемый атрибут внутри пользовательского блока. Блок на странице продукта работает нормально, поэтому проблема связана с эхом php.

Спасибо!

Извините за отсутствующий (?>), но, похоже, он не работает.


person MulaMula    schedule 28.04.2014    source источник


Ответы (4)


Используйте код ниже

<?php echo $_product->getYoutube(); ?>
person user3568891    schedule 28.04.2014

Здравствуйте, проверьте приведенный ниже код, возможно, он вам поможет.

$_product->getData('youtube');

OR

$attributes = $_product->getAttributes();

$attributes['youtube']->getFrontend()->getValue($_product);
person MagikVishal    schedule 28.04.2014

Учитывая, что ваш PHP полностью недействителен, никогда не закрывая тег <?php. Возможно, вы хотите что-то более похожее (разделить на несколько строк для разборчивости):

<a
 class="various fancybox.iframe"
 href="<?php echo $_product->getAttributeText('youtube') ?>">
                                                       ^^^---missing
 Youtube (iframe)</a>
person Marc B    schedule 28.04.2014
comment
извините, я как-то пропустил ?› это при публикации. Но php-код все еще не работает внутри href. - person MulaMula; 28.04.2014
comment
также может отсутствовать закрывающая точка с запятой ; - person JFK; 28.04.2014

Я нашел решение...

HTML:

    <?php $_product = $this->getProduct(); ?>
    <?php if($_product->getVideobox()): ?>
    <a class="fancybox fancybox.iframe" href="http://www.youtube.com/embed/<?php echo    $_product->getVideobox(); ?>">video<a/>
    <?php endif; ?>

сценарий:

<script>
 var $j = jQuery.noConflict();
   $j(".fancybox")
   .attr('rel', 'gallery')
   .fancybox({
   openEffect  : 'none',
   closeEffect : 'none',
   nextEffect  : 'none',
   prevEffect  : 'none',
   padding     : 0,
   margin      : [20, 60, 20, 60] // Increase left/right margin
   });
  </script>       

Видеобокс = код атрибута

person MulaMula    schedule 28.04.2014