论坛首页 编程语言技术论坛

joomla文章系统添加来源字段

浏览 3694 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-16  
PHP
添加来源字段
0.当然要先在数据库中#__content表中添加一个字段
origin varchar(50) null default
,这个刚开始忘了,现在补上。
0.5.后台添加个控制开关,和其他参数一样:
/administrator/components/com_content/models/article.xml
<param name="show_origin" type="radio" default="1" label="来源" description="来源">
  <option value="0">Hide</option>
  <option value="1">Show</option>
</param>

/administrator/components/com_content/config.xml
<param name="show_origin" type="radio" default="1" label="来源" description="来源">
  <option value="0">Hide</option>
  <option value="1">Show</option>
</param>

1.找到文件:/libraries/joomla/database/table/content.php这个应该是描述content数据模型的文件,找到var $hits   = null;一行,在下面加入var $origin = null;
之后去修改内容编辑页面的模板
找到文件:/administrator/components/com_content/admin.content.html.php
找到function _displayArticleDetails(&$row, &$lists )函数
在table最后添加一行,代码如下:
<tr>
         <td>
            <label for="title_alias">
               <?php echo JText::_( 'Title_Alias' ); ?>
            </label>
         </td>
         <td>
            <input class="inputbox" type="text" name="title_alias" id="title_alias" size="40" maxlength="255" value="<?php echo $row->title_alias; ?>" />
         </td>
         <td>
            <label for="origin">
               <?php echo JText::_( 'origin' ); ?>
            </label>
         </td>
         <td>
            <input class="inputbox" type="text" name="origin" id="origin" size="40" maxlength="255" value="<?php echo $row->origin; ?>" />
         </td>
      </tr>

2.然后是内容显示页面,
找到文件:/components/com_content/views/article/tmpl/default.php
在 想要显示来源的地方加入
<?php JText::printf('Origin', ($this->article->origin ? $this->article->origin : "default origin")); ?>
<?php if ($this->params->get('show_origin')) : ?>
		来源:<?php JText::printf( $this->article->origin); ?>
<?php endif; ?>

其中default origin为默认的名字,如果是中文,要把文件存为UTF-8格式
3. Administrator/components/com_content/controller.php中
copyItemSave():	        $row->origin = $item->origin;//1300
editContent($edit)      $row->origin = '默认来源';//448,
			$row->origin = $row->origin;//387
saveContent()           $origin = JRequest::getVar( 'origin', null, 'post');
                        $row->origin = $origin ;


论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics