Magento ver。 1.13
我正在尝试编辑现有Magento网站的代码和布局。
从昨天提问时我得知,当您首次登陆网站时,您将被引导至标有“" home"网址密钥,您可以通过查看" CMS->页面 - >管理内容"
来查找网页然后我看了一下带有URL键的页面" home"包含..
<div>{{block type="dip/dip" name="dip" template="dip/banner-home.phtml" }}</div>
<div class="content-home">
<div class="tab-text">{{block type="core/template" name="tabs_home" as="tabs_home" template="page/tabs.phtml"}}</div>
</div>
所以我查看了第一行并确定它正在加载位于网站顶部的横幅。
然后我查看了从模板加载块的第三行,它似乎正在加载文件tabs.phtml ..
然后我找到了tabs.phtml,希望页面的整个布局都位于那里,但我没有找到任何似乎有用的东西。
这是页面包含的内容..
<SCRIPT type="text/javascript" src="<?php echo $this->getSkinUrl('js/carousel.js') ;?>"></SCRIPT>
<div class="tabs">
<ul class="veiw-all-tab" id="navigation-links">
<li><a href="javascript:void(0);" class="slide-arrow-lft" ><img src="<?php echo $this->getSkinUrl()?>images/slide-left.gif" alt="" /></a></li>
<li>
<span id="newallproductspan"><img src="<?php echo $this->getSkinUrl()?>images/view-all-products.gif" alt="" /></span>
<span id="featuredallproductspan"><img src="<?php echo $this->getSkinUrl()?>images/View-All-Featured-Products.gif" alt="" /></span>
</li>
<li><a href="javascript:void(0);" class="slide-arrow-rgt" ><img src="<?php echo $this->getSkinUrl()?>images/slide-right.gif" alt="" /></a></li>
</ul>
<div class="product-details-new-tab-content">
<ul class="product-details-new-tabs-horiz">
<li id="product_new_products" class="selected"><a href="javascript:void(0)" class="tab-item-link notloaded active"><span><?php echo $this->__('New Products'); ?></span></a></li>
<li id="product_feature_products"><a href="javascript:void(0)" ><span><?php echo $this->__('Featured Products'); ?></span></a></li>
</ul>
</div>
</div>
<?php echo Mage::getBlockSingleton('catalog/product_new')->setTemplate('catalog/product/new.phtml')->toHtml(); ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('featured_block')->toHtml(); ?>
<script type="text/javascript">
var show_selector = new Array();
show_selector[0] = true
show_selector[1] = true;
//show_selector[2] = true;
function showNewProductGallery(counter){
selector = ".infiniteCarousel"+counter;
if(show_selector[counter])
{
jQuery(selector+" .jCarouselLite").jCarouselLite({
btnNext: "#navigation-links .slide-arrow-rgt",
btnPrev: "#navigation-links .slide-arrow-lft",
speed: 500,
easing: "easeinout"
});
show_selector[counter] = false;
}
};
</script>
<script type="text/javascript">
Varien.Tabs = Class.create();
Varien.Tabs.prototype = {
initialize: function(selector) {
var self=this;
$$(selector+' a').each(this.initTab.bind(this));
},
initTab: function(el) {
el.href = 'javascript:void(0)';
if ($(el.parentNode).hasClassName('selected')) {
this.showContent(el);
}
el.observe('click', this.showContent.bind(this, el));
},
showContent: function(a) {
var li = $(a.parentNode), ul = $(li.parentNode);
var counter = 0;
ul.getElementsBySelector('li', 'ol').each(function(el){
var contents = $(el.id+'_contents');
if (el==li) {
el.addClassName('selected');
// Added by Zeon
if (el.id == 'product_new_products') {
$('newallproductspan').show();
$('featuredallproductspan').hide();
}
if (el.id == 'product_feature_products') {
$('featuredallproductspan').show();
$('newallproductspan').hide();
}
// End
contents.show();
showNewProductGallery(counter);
} else {
el.removeClassName('selected');
contents.hide();
}
counter++
});
}
}
new Varien.Tabs('.product-details-new-tabs-horiz');
</script>
我开始耗尽线索以便了解如何真正改变这个页面的任何内容..我似乎无法找到任何东西......我开始想知道它是否可能。
即使您不知道答案,也不胜感激任何所有帮助......即使您只是为我提供了一些提示,那也很棒!
答案 0 :(得分:1)
你的问题非常广泛,但我会尽力让你开始。
Magento中的一个页面由使用Magento的Layout XML拉在一起的块组成,然后由块对象和php模板(phtml)组合呈现。描述该功能的所有工作原理有点超出简单Q&amp; A的范围,但有一些很好的指南。
我不会谈论企业,因为它不是FOSS,但我会说默认主题是“企业”,这意味着你想要在app/design/frontend/enterprise/default/layout/page.xml
中寻找一个相当全面的例子布局xml。你可以在这里看到,layout xml由包含块,引用和删除的句柄组成,它们可以包含动作或重复到块。
Mage_Core_Model_Layout*
中的块类路径。action
节点的孙子节点的数组键。)如果您只想调整布局,可以通过在当前主题包中删除local.xml
文件来实现。这是使用布局xml进行一些练习的好方法,没有大量主题的大量麻烦。如果您想要进行大量更改来创建自己的主题,请阅读the Designer's Guide。