• Magento1.6按产品id降序排列问题

    一般情况下,修改产品排列顺序

    修改

    app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php

    文件即可

    分类页按id升序排列    protected $_direction           = ‘asc’;
    分类页按id降序排列    protected $_direction           = ‘desc’;

    1.6版本 修改了之后 没反应

    对比发现,默认样本数据在分类中的排序 (position) 值为0
    而手动上传的产品默认排序(position)值为1
    具体是不是由于这个导致的  没有去深究… :(

    网上查了下,选择了 一个算是比较直接的解决办法
    修改 app/code/core/Mage/Catalog/Block/Product/List.php  文件
    _getProductCollection() 方法 末尾 添加如下代码

    // sort by created_at date or entity_id
    if(!isset($_GET['order'])) {
        $this->_productCollection->getSelect()->reset( Zend_Db_Select::ORDER );
        $this->_productCollection->getSelect()->order('e.entity_id desc');
    }
    return $this->_productCollection;

    然后清理缓存即可

    参考资料网址
    (1) http://stackoverflow.com/questions/2237513/magento-sort-by-date-added
    (附加)http://blog.chapagain.com.np/magento-join-filter-select-and-sort-attributes-fields-and-tables/

    :-)

  • Magento判断页面类型(category,cms,product…)

    判断当前浏览页面类型,用的比较少
    不过偶尔的需求,像是 在分类页 调用某个特定的广告,在产品查看页调用某些特殊产品,或者修改产品页的title
    此时就需要判断当前所浏览页面的类型了

    参考body 中的css样式的类 ,可以发现 CMS  Category  Product 等页面的均不相同

    例如使用函数:
    strpos(Mage::getBlockSingleton(‘page/html’)->getBodyClass(),’product’)
    判断对应的页面是否为产品浏览页

    其他类型逻辑结构类似
  • Yii 连接 Oracle 简记

    环境:win7 x64       wamp2.0f (集成php5.2.8)   Oracle11g
    步骤简记:首先确认环境配置是否正常
    开启php oci 相关扩展后  查看phpinfo(); 会有如下编译内容

    “–with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared”
    “–with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared”

    这个我们是无法修改的,需要去Oracle的官网下载相应的客户端文件,因为DBA那边使用的是Oracle11g版本,所以这边下载 了:instantclient-basic-windows.x64-11.2.0.3.0.zip以及instantclient-sdk- windows.x64-11.2.0.3.0.zip
    解压后将文件放置到需求对应的目录(没有的话需要手动建立,如本环境的目录为:D:\php-sdk\oracle\instantclient10\ )

    运行yii 框架下的requirements 查看 PDO Oracle extension 模块是否 通过 (若未通过说明client及sdk的版本不正确,可以尝试下载其他版本)

    环境检测ok之后,创建一个Yii webapp进行检测,如: php yiic.php webapp d:\wamp\www\oracletest
    修改 oracletest/protected/config/main.php 文件,添加Oracle数据库连接配置,如:
    ‘db_oracle’=>array(
    ‘class’ => ‘CDbConnection’,
    ‘connectionString’=>’oci:dbname=192.168.1.253:1521/TEST.COM’,
    ‘charset’=>’UTF8′,
    ‘username’=>’scott’,
    ‘password’=>’tiger’,
    ‘enableParamLogging’=>true,
    ),
    具体配置请参考DBA所提供的信息
    编写测试代码:这边直接修改自动创建的 SiteController中的actionIndex方法
    添加代码
    $query = “SELECT * FROM MYTABLE”;
    $t_results = Yii::app()->db_oracle->createCommand($query)->queryAll();
    print_r($t_results);
    刷新访问测试目录,即可正常显示相关信息。

    注意事项:
    测试Yii 使用Oracle之前
    请先使用相关软件,如 SQL Developer 、PLSQL Developer进行测试连接
    或使用PHP ocilogon 测试连接,确保系统及PHP所需的扩展均正常
    使用gii创建Oracle相关model时需要注意表名的大小写

click
©2010-2024 Jeen All Rights Reserved.Powered by emlog 京ICP备15058100号-1