国际电子商务技术 & Magento开发公司

Maishen technologies

Welcome visitor! You canlogin orcreate an account.

热线:+86-0532-58973093

麦神科技有限公司
Mygod Technologies

官方认证开发工程师

如何禁用magento的事件?

2011年10月20日星期四 Asia/Shanghai下午6:33:51

 

对于magneto的事件,有一些不想用了,可以禁用掉,然后就不执行了

下面是如果执行的代码,下载模块的etc/config.xml文件中就可以了!

 

<frontend>
    <events>
        <controller_action_predispatch>
            <observers><log><type>disabled</type></log></observers>
        </controller_action_predispatch>
    <events>
</frontend>

 

当然,你可以抓取magento的事件,然后放在自己执行的代码,可以如下操作

 

<frontend>
    <events>
            <controller_action_test>
                <observers>
                    <test>
                        <class>test/testvisitor</class>
                        <method>testinitByRequest</method>
                    </test>
                </observers>
            </controller_action_test>
            .... other events
        </events>
</frontend>
在你写的这个模块扩展中testvisitor对应的方法testinitByRequest写上你要执行的代码就可以了!

 

0 Comments | Posted in magento二次开发 By terry water

magento layout 文件中标签的使用---magento模板制作

2011年10月19日星期三 Asia/Shanghai下午11:01:16

magento的模板制作!

对于magento的模板制作,其实懂了magento模板文件下面的layout里面的xml方法即可

下面介绍几种标签:

1

任何地方都加在的标签对

<defult></default>

2

首页标签

<cms_index_index>

3

产品叶子分类

<catalog_category_default>

4

产品分类页面

<catalog_produt_view>

这样就可以在这里里面写上各个页面的个性化

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

对于block

<block type="core/template" as="ee"   template="page/ee.phtml" />

1

如何让一个block,仅仅在产品详细页面的的left显示呢?

答:

<product_product_view>

 <reference name="left">

      <block type="core/template" nae="ee" as="ee"   template="page/ee.phtml" />

</reference>

</product_product_view>

 2

如何让一个block除了产品详细页面,其余的页面都显示呢?

<default>

 <reference name="left">

      <block type="core/template" as="ee"   template="page/ee.phtml" />

</reference>

</default>

<product_product_view>

<remove name="ee">

</product_product_view>

3

怎么调整在left中的位置?

<block type="core/template" as="ee"   template="page/ee.phtml" />

加入before,after,譬如:

<block type="core/template" as="ee"  before"-"  template="page/ee.phtml" />

他会放在left的最上面!

OK就到这里吧!

还有不懂的可以到论坛里面留言,增加下人气,呵呵!

 

 

0 Comments | Posted in Magento模板 By terry water

Magento Dynamic Static Blocksynamic Static Blocks

2011年10月19日星期三 Asia/Shanghai上午9:41:09

public function getDynamicBlock($p_block_prefix = '', $p_block_id = '', $p_arr_xml_block = array()) {

10     if(empty($p_block_prefix))
11         $m_block_prefix = 'header_content_';
12     else
13         $m_block_prefix = $p_block_prefix;
14     if(empty($p_block_id))
15         $m_block_id = Mage::registry('current_category')->getId();
16     else
17         $m_block_id = $p_block_id;
18  
19     $m_block_path = $m_block_prefix.$m_block_id;
20     $m_static_block = Mage::getModel('cms/block')->load(trim($m_block_path));
21  
22     if(is_null($m_static_block->getId())) {
23         if(count($p_arr_xml_block) > 0) {
24             $m_xml_template = $p_arr_xml_block['template'];
25             $m_xml_singleton = $p_arr_xml_block['singleton'];
26             $m_xml_name = $p_arr_xml_block['name'];
27             $m_xml_block = Mage::app()->getLayout()->getBlockSingleton($m_xml_singleton)->setName($m_xml_name)->setTemplate($m_xml_template)->toHtml();
28  
29             return $m_xml_block;
30         }
31     }
32     else
33         return $m_static_block->getContent();
34 }
0 Comments | Posted in Magento开发 By terry water

magento-快速清空所有产品

2011年10月19日星期三 Asia/Shanghai上午9:35:19

在magento的后台删除产品太慢,蜗牛的速度,下面是快速清空magento的所有产品,

登录你的cpanel,然后进入phpmyadmin,然后执行下面的sql语句即可!

然后清除缓存,会看到产品都没了!

TRUNCATE TABLE `catalog_product_bundle_option`;

2 TRUNCATE TABLE `catalog_product_bundle_option_value`;
3 TRUNCATE TABLE `catalog_product_bundle_selection`;
4 TRUNCATE TABLE `catalog_product_entity_datetime`;
5 TRUNCATE TABLE `catalog_product_entity_decimal`;
6 TRUNCATE TABLE `catalog_product_entity_gallery`;
7 TRUNCATE TABLE `catalog_product_entity_int`;
8 TRUNCATE TABLE `catalog_product_entity_media_gallery`;
9 TRUNCATE TABLE `catalog_product_entity_media_gallery_value`;
10 TRUNCATE TABLE `catalog_product_entity_text`;
11 TRUNCATE TABLE `catalog_product_entity_tier_price`;
12 TRUNCATE TABLE `catalog_product_entity_varchar`;
13 TRUNCATE TABLE `catalog_product_link`;
14 TRUNCATE TABLE `catalog_product_link_attribute`;
15 TRUNCATE TABLE `catalog_product_link_attribute_decimal`;
16 TRUNCATE TABLE `catalog_product_link_attribute_int`;
17 TRUNCATE TABLE `catalog_product_link_attribute_varchar`;
18 TRUNCATE TABLE `catalog_product_link_type`;
19 TRUNCATE TABLE `catalog_product_option`;
20 TRUNCATE TABLE `catalog_product_option_price`;
21 TRUNCATE TABLE `catalog_product_option_title`;
22 TRUNCATE TABLE `catalog_product_option_type_price`;
23 TRUNCATE TABLE `catalog_product_option_type_title`;
24 TRUNCATE TABLE `catalog_product_option_type_value`;
25 TRUNCATE TABLE `catalog_product_super_attribute`;
26 TRUNCATE TABLE `catalog_product_super_attribute_label`;
27 TRUNCATE TABLE `catalog_product_super_attribute_pricing`;
28 TRUNCATE TABLE `catalog_product_super_link`;
29 TRUNCATE TABLE `catalog_product_enabled_index`;
30 TRUNCATE TABLE `catalog_product_website`;
31 TRUNCATE TABLE `catalog_product_entity`;
32 TRUNCATE TABLE `cataloginventory_stock`;
33 TRUNCATE TABLE `cataloginventory_stock_item`;
34 TRUNCATE TABLE `cataloginventory_stock_status`;
35  
36 INSERT  INTO `catalog_product_link_type`(`link_type_id`,`code`) VALUES (1,'relation'),(2,'bundle'),(3,'super'),(4,'up_sell'),(5,'cross_sell');
37 INSERT  INTO `catalog_product_link_attribute`(`product_link_attribute_id`,`link_type_id`,`product_link_attribute_code`,`data_type`) VALUES (1,2,'qty','decimal'),(2,1,'position','int'),(3,4,'position','int'),(4,5,'position','int'),(6,1,'qty','decimal'),(7,3,'position','int'),(8,3,'qty','decimal');
38 INSERT  INTO `cataloginventory_stock`(`stock_id`,`stock_name`) VALUES (1,'Default');
0 Comments | Posted in magento日常所用 By terry water

增强magento缓存机制-------magento提速方法!

2011年10月18日星期二 Asia/Shanghai下午10:30:14

增强magento的缓存机制!

magento系统是一个非常优秀的系统,个人分析如下

1

模块强大的可扩展性

2

eav表结构,让客户自己增加产品等属性非常容易,index manager这个功能在讲这些表合并起来,成为一个表,在数据库的product和category表,你应该能发现后缀为flat_1的表吧,这个就是magento表,这也是magento为什么在使用后,尤其是多网店,多域名,表会越来越多的原因!

3

多网店,多域名,更强的配置!

4

magento的缓存机制!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

本文讲解的是magento的缓存机制

magento默认的缓存block,是菜单,其余的都没有做缓存!这其实也不难理解,不同的客户有不同的需求,我们做开源系统的,难调众口,你们自己去做吧!

不同于门户网站,magento是不能完全做静态页面的,因为有一些动态的因素,譬如购物车的信息,

所以magento只能做局部缓存,这也就是本文要说的magento block缓存机制!

对于一个block的缓存,只需要在这个block的type对应的文件中添加一下的代码即可

1 protected function _construct()
2 {
3      $this ->addData( array (
4          'cache_lifetime'     => 86400,  //seconds
5          'cache_tags'         => array (Mage_Catalog_Model_Product::CACHE_TAG . "_" . $this ->getProduct()->getId()),
6          'cache_key'          => $this ->getProduct()->getId(),
7      ));
8 }
也就是吧上面的三个变量赋值即可,下面的问题就是牵扯到这个值的生成问题,保证相同的URL在不同的参数下,譬如不同的货币,不同的store等,显示的缓存也是不一样的
这样cache_key 要通过货币,store,website,url等一些变量动态生成,这样保证这个页面的唯一性
~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
对于magento的提速,看很多资料上说block的精简等等
人,活在世界上,不可能花费那么长的时间做一件事情,对于magento的代码精简,对于可行性,我持反对态度,太耗费时间,还不如做block缓存呢!只要服务器配置好,做好缓存,开启编译,缓存,js,css合并,将css,js文件加入linux缓存,php加速器安装等,1-2秒刷新出来一个页面,不是个困难的事情!
对于购买的服务器,一定要可以开启gzip压缩模块,。这样可以减少很多文件加载的速度,文本压缩在80-90%左右,这也就是一些网站加载完成后要 1,5MB但是加载很快的原因,因为他们传输过来的文件没有1.5MB,gzip压缩了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
如果您想做block cache,可以联系我!我这里有测试过的block 扩展
首页,分类页面,产品详细页的content,left,right整体缓存!
大致就是将没有动态信息显示的都做成缓存!
0 Comments | Posted in magento二次开发 By terry water
 
  • Mygod Technologies
  • 麦神科技有限公司
  • 香港中路8号
  • 中铁青岛中心大厦A3001
  • 市南区, 青岛, 266000
  • 电话: 0532-5897-3093

订阅我们的最新消息。

我们将严格尊重您的隐私。

关注我们的微信
获取外贸电子商务最新资讯;跨境推广最新策略;电子商务网站技术最新趋势。

2018 Mygod Technologies. 保留所有权. Privacy Policy