将新图像字段添加到Joomla 1.7 com_content

时间:2011-10-12 22:33:14

标签: joomla joomla-extensions joomla1.6

我正在尝试对Joomla 1.7的com_content组件进行一些更改 关于Joomla 1.7的特定主题的文档不多,

也许你可以帮我解决这个问题。

我想在com_content中为额外的图像设置一个单独的字段,特别是为特色视图。

在管理员的部分,我设法添加了字段 - 只是在html中,然后是xml文件,最后是数据库。

现在我正试图在我的自定义html视图中显示特色文章。

我刚刚使用了简单代码echo $this->item->addimage;,但遗憾的是它没有显示。

任何想法如何实现?

谢谢!

另外还有一件事,据我所知,组件开发结构,DB注册等在Joomla 1.7中已经改变了。是否有任何有用的链接可以很好地解释所有内容?

2 个答案:

答案 0 :(得分:1)

好。如果您确定您所做的工作的实施有效。即。嵌入的图片或只是您添加的字段中的URL链接存储在数据库中,查看首页文件 /components/com_content/views/featured/tmpl/default_item.php

在那里你应该放置你的$ this-> item-> addimage变量,如:

<img src="<?php echo $this->item->addimage; ?>" />

如果您存储网址链接,或

<img src="image/png;base64,<?php echo $this->item->addimage; ?>" />

如果您将图像存储为RAW base64编码数据


修改 如果您从前端添加文章(如果是后端,请让我知道)

,这应该可以解决您的问题
  1. 首先在 jos_content 表格中创建一个新列,如:
  2.   

    'addimage'varchar(255)DEFAULT NULL

    然后修改以下文件:

    1. ../ com_content / views / featured / tmpl / default_image.php [LINE:29]

      29:#</h2>

      30:#<?php endif; ?>

      32:<?php if(!empty($this->item->addimage)): ?>

      33:<img src="<?php echo $this->item->addimage; ?>" alt="ADDIMAGE" />

      34:<?php endif; ?>

      36:#<?php if ($params->get('show_print_icon') || $params->get('show_email_icon') || $canEdit) : ?>

    2. ../ com_content / models / articles.php [LINE:160]

      160:# $this->getState(

      161:# 'list.select',

      162:'a.id, a.title, a.alias, a.title_alias, a.introtext, a.addimage, ' .

      163:#'a.checked_out, a.checked_out_time, ' .

    3. ../ com_content / models / forms / article.xml [ADD SOMEWHERE]

      <field id="addimage" name="addimage" type="text" label="Add Image" class="inputbox" />

    4. ../ com_content / views / form / tmpl / edit.php [LINE:82]

      82:#<?php echo $this->form->getInput('created_by_alias'); ?>

      83:#</div>

      85:<div class="formelm">

      86:<?php echo $this->form->getLabel('addimage'); ?>

      87:<?php echo $this->form->getInput('addimage'); ?>

      88:</div>

      90:#<?php if ($this->item->params->get('access-change')): ?>

答案 1 :(得分:1)

com_content实际上不再是在joomla中创建变量内容的方式了。从曼布日开始,它仍然是同样不灵活的代码。 你应该尝试像K2,flexicontent或我最喜欢的ZOO这样的解决方案。它们易于学习,你可以用它们做很多很酷的东西。额外的领域?没问题,其中一些已经存在于Joomla 1.7 / 2.5中。 攻击核心总是很糟糕。主要是因为你失去了更新路径。