Magento控制器中添加Block

如果不想在模板的xml中设置block或者block是动态的,那么在Magento在控制器中添加block的时候可以做下动态的调整,进而动态的修改页面。

代码如下:

$this->loadLayout();

//set view page top content
$block = $this->getLayout()->createBlock(
                    'activitie/activitie_view', 'activitie_view', array('template' => 'hellokeykey_activitie/activitie/view.phtml')
            );
$this->getLayout()->getBlock('content')->insert($block);
//$this->getLayout()->getBlock('content')->append($block);

$this->renderLayout();

 

getBlock('content')是只更新content部分

append是指添加到后面,insert是添加到前面

参考文章:http://inchoo.net/ecommerce/magento/programatically-create-magento-blocks-and-inject-them-into-layout/

转载表明出处:www.hellokeykey.com

Magento的生成商品XML CSV利器Data Feed Manager

data feed manager
data feed manager

google shopping需要将商品导出为指定的XML格式,用 Data Feed Manager 这个工具就非常的方便来组织数据。官网网址 http://wyomind.com/ ,他们的说明文档很清楚,基本可以熟悉如何定制自己的数据。

如果你只想向google shopping提交商品数据,那么你使用其它免费的Magento插件即可,如果你的数据需要按照其它规则进行定制,那么这个插件也许就是你想要的。

插件中你可以设置属于你自己的过滤规则,比如将某些商品屏蔽掉。你可以按照商品的各个属性来过滤商品,可以按照分类来过滤商品。

如果过滤插件内置的输出内容不能满足你的要求,你甚至可以直接插入 PHP 代码来获得你想输出的内容,如果插入php见插件的说明文档。

简单介绍下两款插件:

Simple Google Shopping: 30欧元,看名字就知道是只可以生成适用google shopping格式的商品数据。适合一般店家使用。

Data Feed Manager: 80欧元,可以生成XML CSV等格式的商品数据。适合对magento比较熟,功能需求多的用户。

继续阅读“Magento的生成商品XML CSV利器Data Feed Manager”

magento插件教程-2- magento计算器

magento插件教程

这个案例的内容是,在magento前台输入两个数,然后输出结果。
这个案例的目的是
1.数值是如何在magento的Controllers传递到Block中的,又是如何在phtml文件中输出的。
2.controllers中的action使用。
3.了解使用form post参数和如何get参数。

首先来看下这个案例中的文件结构
/* 声明插件,指定codePool、插件开启状态等 */
app/etc/modules/Hellokeykey_Counter.xml
/* 模板.phtml文件中使用的方法在此文件中声明,此案例中此文件将计算结果传递到.phtml文件 */
app/code/local/Hellokeykey/Counter/Block/Counter.php
/* 我们此案例的的控制器 http://magento-root-folder/module-name/controller-name/action-neame
此例中IndexController控制器中的一个action获取counter.phtml中传来的参数,并将参数传递到Counter.php,在Counter.php中计算后将结果返回到counter.phtml输出 */
app/code/local/Hellokeykey/Counter/controllers/IndexController.php
/* 主要的插件配置文件 */
app/code/local/Hellokeykey/Counter/etc/config.xml
/* 前台显示模板的layout */
app/design/frontend/default/default/layout/counter.xml
/* 前台模板文件,我们的form和结果最终就在这个文件输出,此文件直接使用$this->调用与其相应的block中的方法,本例中我们只使用这一个模板页面。 */
app/design/frontend/default/default/template/counter/counter.phtml
/* Helper此例不使用,放在这显得气派,充门面 */
app/code/local/Hellokeykey/Counter/Helper/Data.php
继续阅读“magento插件教程-2- magento计算器”

magento插件教程-1-hello world

今天有时间写个magento插件的起步教程吧,就像在学各种语言的时候,我们学的第一个程序就是hello world。 1.首先我们下来了解几个文件夹

  • app/etc/modules  此文家夹放的是插件的配置文件,可以在配置文件中设置插件的开启状态,插件文件夹的路径。
  • app\code\local 与 app\code\community 功能都是一样的(英文中叫 codepool),区别就是字面上的意思,都是存放magento插件的文件夹。在app/etc/modules中的配置文件中要声明下存放在这两个文件中的哪一个。

2.下面让我们来看下今天 hello world 的文件以及文件夹结构 我们的插件包的名字是Modulepackage(称为Namespace,命名空间),插件的名字是Myfirstmodule(我们插件的名字),我们以一个最简单的文件结构来完成hello world这个例子。 app/etc/modules/Modulepackage_Myfirstmodule.xml   //注意文件的大小写 app/code/local/Modulepackage/Myfirstmodule/controllers/IndexController.php  //注意大小写 app/code/local/Modulepackage/Myfirstmodule/etc/config.xml //注意大小写 继续阅读“magento插件教程-1-hello world”