这个 Magento 商店是在 Twitter 的 Bootstrap 上开发的,我们正在尝试实现 jbutz 的Bootstrap Lightbox而不是 Bootstrap Modal。
我们将 Bootstrap Lightbox js 与 Bootstrap 的其余 js 一起调用,如下所示:-
<script src="<?php echo $this->getSkinUrl('js/jquery.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/google-code-prettify/prettify.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-transition.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-alert.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-modal.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-lightbox.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-dropdown.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-scrollspy.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-tab.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-tooltip.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-popover.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-button.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-collapse.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-carousel.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/bootstrap-typeahead.js'); ?>"></script>
<script src="<?php echo $this->getSkinUrl('js/application.js'); ?>"></script>
我们将 Bootstrap Lightbox css 与其他 Bootstrap css 一起调用,如下所示:-
<action method="addCss"><stylesheet>css/bootstrap.css</stylesheet></action>
<action method="addCss"><stylesheet>css/bootstrap-responsive.css</stylesheet></action>
<action method="addCss"><stylesheet>css/bootstrap-lightbox.css</stylesheet></action>
所有文件都在页面加载时被调用并且可以访问。
在template/catalog/product/view/media.phtml中,我们使用以下标记:-
<a data-toggle="lightbox" href="#myGallery_<?php echo $_product->getId()?>" class="main-image">
<?php echo $_helper->productAttribute($_product, $_img, 'image'); ?>
</a>
<div class="lightbox hide fade" id="myGallery_<?php echo $_product->getId()?>" tabindex="-1" role="dialog" aria-hidden="true">
<div class="lightbox-header">
<a class="close" data-dismiss="lightbox">×</a>
<h3><?php echo $_product->getName()?></h3>
</div>
<div class="lightbox-content">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'image')->resize(600)?>" alt="<?php echo $this->htmlEscape($this->getImageLabel())?>" title="<?php echo $this->htmlEscape($this->getImageLabel())?>" />
</div>
<div class="lightbox-footer">
<a href="#" class="btn" data-dismiss="lightbox">Close</a>
</div>
</div>
但是,我一生都做不到,单击产品图像时触发灯箱,什么都没有发生。即使将演示中的确切标记实现到 Magento 模板文件中仍然不起作用 - 就好像 js 被正确调用/触发一样。您可以看到一个在jsfiddle上不起作用的示例。
有人可以指出这个问题吗?