【问题标题】:How to edit main page content Magento Enterprise如何编辑主页内容 Magento Enterprise
【发布时间】:2014-06-27 03:42:17
【问题描述】:

Magento 版本。 1.13

我正在尝试编辑现有 Magento 网站的代码和布局。

从昨天提出的问题中,我了解到,当您首次登陆网站时,您会被定向到标有“主页”URL 键的页面,您可以通过查看“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>

我开始用尽线索来了解如何实际更改此页面的任何内容.. 我似乎找不到任何内容.. 我开始怀疑它是否可能。

感谢您提供任何和所有帮助..即使您不知道答案..即使您只是给我一些提示,那也很棒!

【问题讨论】:

标签: magento magento-1.13


【解决方案1】:

您的问题非常广泛,但我会尽力让您入门。

Magento 中的页面由使用 Magento 的 Layout XML 组合在一起的块组成,然后由块对象和 php 模板 (phtml) 组合呈现。描述该功能的所有工作原理有点超出了简单问答的范围,但那里有一些很好的指南。

Enterprise 不是 FOSS,我不会多说,但我会说默认主题是“enterprise”,这意味着您想在app/design/frontend/enterprise/default/layout/page.xml 中查找布局 xml 的相当全局的示例.您可以在此处看到布局 xml 由包含块、引用和删除的句柄组成,这些句柄可以包含操作或递归到块。

  • layout xml中的一个block对应php中的一个block类,可以通过其类型来识别。块类型名称完全解析为 Mage_Core_Model_Layout* 中的块类路径。
  • 布局 xml 中的操作调用包含块上的方法。它的子节点是参数(直接子节点忽略 xml 节点名称,但 action 节点的孙节点的数组键。)
  • 删除可让您忽略现有块。
  • 引用允许您通过触发其操作之一或附加或删除子块来更新现有块。

如果您只想调整布局,您可以通过在当前主题包中放置一个local.xml 文件来实现。这是使用布局 xml 进行一些练习的好方法,而无需大量主题化的麻烦。如果您想创建自己的主题并进行大量更改,请阅读the Designer's Guide

【讨论】:

  • 非常感谢! :D 我知道这个问题非常广泛,因为我显然不能告诉你一切,而且我显然知道的很少。我有一种感觉,这将有很大帮助!我尝试更改 page.xml 中的布局,但对网站没有影响..我刷新了缓存和所有内容..再次感谢您的帮助!\
  • @GraysonBriggs 不要更改核心 magento 文件 - 添加 local.xml 就像我建议的那样。在其中尝试&lt;default&gt;&lt;remove name="breadcrumbs.container"/&gt;&lt;/default&gt; 看看它是否会删除所有面包屑。
  • 我没有更改核心 Magento 文件。在前端文件夹中有一个单独的文件夹,而不是“enterprise/default/”,它的 Name_of_company/default/ 这就是我正在编辑的内容,因为我们不使用默认主题,而是为我们创建的主题
  • @GraysonBriggs 好的,但我的意思是不要更改 page.xml - 在与 page.xml 相同的目录中创建和修改 local.xml
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
相关资源
最近更新 更多