zoukankan      html  css  js  c++  java
  • joomla开发技巧

    1.joomla模块输出到任何位置
      $module = JModuleHelper::getModule('custom',$title);//此针对 定制html module,其中$title是定制的HTML模块标题
      echo JModuleHelper::renderModule($module);
    //针对多个
    $modules = JModuleHelper::getModules('right'); //参数是position

    foreach($modules as $module)
    {
      echo JModuleHelper::renderModule($module);
    }
    //针对单个

    // this is where you want to load your module position video is module positon
    $module = JModuleHelper::getModule('mod_breadcrumbs');//参数是module名
    echo JModuleHelper::renderModule($module);

    总结,有时在component所在的view中输出所需的module,会带来更大灵活性。另外,灵活运用定制HTML模块
    custom module: http://docs.joomla.org/Applying_custom_module_chrome
    简要步聚:1.模板所在目录中的html目录中创建modules.php
                      2.定义function modChrome_STYLE($module, &$params, &$attribs)
                      3.模板中调用<jdoc:include type="modules" name="user1" style="STYLE" />这个中可带任意参数,在$attribs中可得到


    2.得到网站根地址(URL)
      
    JURI::base();

    3.JUtility中封装了一些常用的方法,比如发邮件等。其中还有一些其它常用方法,可以参考源文件学习。
    $sent = JUtility::sendMail(发送者邮箱, $contactname, 接收者邮箱, $subject, $body, true);

    if (!$sent) {

             $this->setError("Send email failed.");

    }

    4.防止刷新提交:
    view:                  <?php echo JHTML::_( 'form.token' ); ?>
    controller:        JRequest::checkToken() or jexit( 'Invalid Token' );

    5.joomla内置的表单验证功能
       参考:http://www.cnblogs.com/catcat811/archive/2010/06/09/1755012.html

    6.joomla组件开发中时区问题
       joomla的所有组件的日期数据,都统一使用mysql的datetime,输出格式类型于2004-02-12T15:19:21

      这种格式好处是在数据库中可以很直观地看到时间,但仅仅只是有这个好处,坏处却一大堆,例如不方便两个日期比较,不方便计算日期之间间隔了多久,总之一切日期运算都很不方便!joomla又是个多语言CMS系统,而datetime这种格式要表达时区概念,必须在mysql的datetime上加上offset,而mysql的datetime则始终是UTC。例如中国的时区是加8小时,那么从数据库中得到的datetime还需要加上8小时,时间才是最准确的。这种换算非常重要,而且也是很容易让人忽略的部分。
      以下介绍如何准确地获取与写入时间:
      // 获取从数据库中得到的时间并显示
        echoJHTML::_('date',$row->datetime , JText::_('DATE_FORMAT_LC2'));
     // 录入时间字串,到数据库中查询
        $config =& JFactory::getConfig();
     // 得到系统时区
      $offset = $config->getValue('config.offset');
      $jdate = JFactory::getDate('2012-3-27 09:45:30', $offset);
      $query .= " AND i.created >= '".$jdate->toMySQL(true)."' ";
      echo $query;

    7.joomla图片处理component
     http://www.phoca.cz/download/category/1-phoca-gallery-component

  • 相关阅读:
    触摸屏测试:Tslib
    Ubuntu:我不小心把/var/lock文件夹给删了
    驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
    驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
    驱动开发学习笔记.0.00 从拿到一块开发板开始
    利用联合体通过串口收发浮点数
    stm32 MDK5软件仿真之查看io口输出
    ListView 类
    INotifyPropertyChanged 接口
    ItemsControl 类绑定数据库
  • 原文地址:https://www.cnblogs.com/fanglin/p/2509679.html
Copyright © 2011-2022 走看看