6

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

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

我想在 com_content 中有一个单独的字段用于额外的图像,特别是精选视图。

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

现在,我正在尝试将该记录显示在我的特色文章的自定义 html 视图中。

我只是使用了简单的代码echo $this->item->addimage; ,但不幸的是它没有显示出来。

任何想法如何实现这一目标?

谢谢!

还有一件事,据我所知,组件开发结构、数据库注册等在 Joomla 1.7 中已经改变。有什么有用的链接可以很好地解释所有内容吗?

4

2 回答 2

1

com_content 真的不再是在 joomla 中创建可变内容的方式了。自曼波时代以来,它仍然是相同的不灵活代码。您应该尝试 K2、flexicontent 或我最喜欢的 ZOO 等解决方案。它们很容易学习,你可以用它们做很多很酷的事情。额外字段?没问题,其中一些已经存在于 Joomla 1.7/2.5 中。破解核心总是不好的。主要是因为您丢失了更新路径。

于 2011-10-21T21:49:14.727 回答
1

出色地。如果您确定您所做的工作的实施。IE。嵌入式图像或您添加的字段中的简单 URL 链接存储在数据库中查看首页文件/components/com_content/views/featured/tmpl/default_item.php

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

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

如果您存储 URL 链接,或者

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

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


编辑: 如果您从前端添加文章,这应该可以解决您的问题(如果是后端,请告诉我)

  1. 首先在jos_content表中创建一个新列,例如:

'addimage' varchar(255) 默认为空

然后修改以下文件:

  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 [添加]

    <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')): ?>

于 2011-10-17T18:18:43.043 回答