• magento添加调用block的几种方法

    静态块主要是指在后台添加的可用静态块
    调用方法常见的有如下几种:(这边就不介绍使用widgets 调用的方法了,有兴趣的朋友可以自己在后台widgets中尝试设置)
    1、直接在HomePage中调用(只限首页):
    修改layout中的xml代码
    <reference name=”content”>
    <block type=”cms/block” name=”blockname” before=”-”>
    <action method=”setBlockId”><id>block_id</id></action>
    </block>
    </reference>
    通过修改reference 中的name属性值调整主体位置,通过block中的before或after属性值调整相对顺序
    CMS 页以及static block还可以通过如下方法调用:
    {{block type=”cms/block”  name=”user-block”  block_id=”one-block”}}
    (其中的name为自定义的,block_id 为静态块的 identi)

    2、直接在模板的 .phtml 中调用
    <?php echo $this->getLayout()
    ->createBlock(‘cms/block’)
    ->setBlockId(‘block_id’)
    ->toHtml(); ?>
    3、在对应的 .xml 中的目标位置调用
    <block type=”cms/block” name=”blockname” as=”blockname” before=”-”>
    <action method=”setBlockId”><id>block_id</id></action>
    </block>
    <!– 修改其中的 name  as 以及id 确保正确调用,修改before参数确保位置正确 –>
    4、使用 getChildHtml() 方法调用(类似方法3):
    首先在page.xml文件中定义一个childhtml名称(这边用test代替)
    可以参考before_body_end那段代码
    <block type=”core/text_list” name=”before_body_end” as=”before_body_end”/>
    定义自己需要的如:
    <block type=”core/text_list” name=”test” as=”test”/>
    然后将调用的代码添加到对应的XML布局文件的正确位置
    例如这边我们插入到catalog.xml 中的<default>块中,这样就可以在任意页面调用,当然你也可以加到你想要的页面中。
    <default><!–位于30行左右–>
    <reference name=”test”>
    <block type=”cms/block” name=”testname” before=”-”>
    <action method=”setBlockId”><id>testblock</id></action>
    </block>
    </reference>
    ……
    添加static block名称为testblock
    内容自己定义,如:    <h1>This is a test Block!</h1>
    到你想让这块内容出现的页面调用它
    这边我们在1column.phtml中调用
    <?php echo $this->getChildHtml(‘test’) ?>

    5.应用实例:

    产品查看页以 Zencart 风格调出产品多图展示

    catalog.xml
    <!–
    Product view
    –>部分,找到<block type=”catalog/product_view_media” name=”product.info.media” as=”media” template=”catalog/product/view/media.phtml”/>
    复制并加以修改为:
    <block type=”catalog/product_view_media” name=”product.info.mediagallery” as=”media_gallery” template=”catalog/product/view/mediagallery.phtml”/>
    其中mediagallery.phtml 文件代码可参考media.phtml 文件根据需要进行相应修改

    然后
    在Product view.phtml 中 对应位置添加以下代码(css样式自行调整)即可
    <div style=”text-align:center;”>
    <?php echo $this->getChildHtml(‘media_gallery’) ?>
    </div>

    欢迎留言交流建议~!

  • magento在cms页显示产品

    调用显示分类产品,可以使用已有分类,也可以自定义一个产品分类。
    记住目标分类ID
    调用显示方法主要有以下几种:
    1、HomePage的content中调用
    {{block type=”catalog/product_list” category_id=”Your-ID” template=”catalog/product/list.phtml”}}
    2、HomePage的layout中调用
    新建一个static block,内容使用方法一中的代码
    然后参考block的调用方法实现调用
    <reference name=”content”>
    <block type=”cms/block” name=”callout_product_block” after=”-”>
    <action method=”setBlockId”><id>blockid</id></action>
    </block>
    </reference>
    通过修改 对应的属性值 控制其位置
    3、在.phtml 对应的 .xml 中调用
    参考方法2
    将 以下代码添加到正确位置即可
    <block type=”cms/block” name=”callout_product_block” after=”-”>
    <action method=”setBlockId”><id>blockid</id></action>
    </block>

    控制产品布局显示方式,通过修改list.phtml文件实现

    欢迎留言交流建议~!

  • Magento修改后台管理路径

    (注:由于记的不太清楚,文中的数据表名 与 表中的列属性名 可能有点小的出入,可自行类比,或留言)

    安装默认设置的后台路径为 http://yourdomain/admin

    完成安装之后,后台可以发现 admin 项有对应的设置选项: use_custom_adminurl 等

    设置之后问题就出现了,不光新设置的路径没办法登陆,默认的 admin 也会提示 404错误,这个大概是社区版Magento的一个bug吧。

    碰到这种情况的时候 已经没有办法通过后台进行恢复了,需要操作数据库, 进入数据库找到 对应的config_data 表格

    直接翻到最后一页,你会发现刚设置的用户自定义路径 已经添加到 表中了, 将 use_custom_….url 值 改为0,或者 将此条数据后面的几条数据一并删除。然后清理缓存即可使用默认的admin 路径 登陆后台了。

    但是到这边我们开始没有实现 后台登陆路径的修改,

    好了,一个最基本的方法就是 修改app/etc/local.xml 文件了,找到
    <admin>
    <routers>
    <adminhtml>
    <args>
    <frontName><![CDATA[admin]]></frontName>
    </args>
    </adminhtml>
    </routers>
    </admin>

    修改frontName中的

    admin 为你希望的路径名即可 如: myadminpath

    <frontName><![CDATA[myadminpath]]></frontName>

    注意不能有特殊符号 如 / ? 等 。 清理缓存后 使用 http://yourdomain/myadminpath 登陆试试吧 :-)

  • Magento Aw_Blog Fatal error: Class ‘Mage_Adminhtml_Controller_action’ not found 错误解决笔记

    magento 安装AW_Blog 后 添加 博文  分类及进行其他操作时提示

    Fatal error: Class ‘Mage_Adminhtml_Controller_action’ not found in /Path/to/www_root/app/code/community/AW/Blog/controllers/Manage/BlogController.php on line 18

    等类似找不到Mage_Adminhtml_Controller_action 类的错误

    进入对应文件 将  action  修改为  Action  保存即可

    记此以作备忘 :-)

  • 简单的magento站点ip登陆限制方法

    当magento站点还处于开发 或 维护阶段时,我们不希望其他人员可以访问。解决这个问题的一个简单方法就是修改

    index.php 文件,添加简单的ip限制代码。

    ...
    <?php
    $user_ip = getenv("REMOTE_ADDR");
    if($user_ip == "192.168.1.110")
    {
    /**
     * Magento
     *
     */
    .........
    Mage::run($mageRunCode, $mageRunType);
    }
    else
    {
       echo "access denied ~!";
       header("Location: http://www.magentoeasy.com/");
    }
click
©2010-2024 Jeen All Rights Reserved.Powered by emlog 京ICP备15058100号-1