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

  • 相关阅读:
    常用SEO优化工具
    OA系统中常用信息提示窗体
    VB.NET 操作注册表
    js截取字符串处理
    JavaScript中常用的对象和属性
    优化ASP.NET性能
    jquery线上引用无需本地包 Jim
    css 超出盒子滚动,不显示滚动条 Jim
    常用判断js数据类型 Jim
    amonthpicker 禁止当前完后月份,禁止当前往前推2月份 Jim
  • 原文地址:https://www.cnblogs.com/fanglin/p/2509679.html
Copyright © 2011-2022 走看看