我正在尝试对Joomla 1.7的com_content组件进行一些更改 关于Joomla 1.7的特定主题的文档不多,
也许你可以帮我解决这个问题。
我想在com_content中为额外的图像设置一个单独的字段,特别是为特色视图。
在管理员的部分,我设法添加了字段 - 只是在html中,然后是xml文件,最后是数据库。
现在我正试图在我的自定义html视图中显示特色文章。
我刚刚使用了简单代码echo $this->item->addimage;
,但遗憾的是它没有显示。
任何想法如何实现?
谢谢!
另外还有一件事,据我所知,组件开发结构,DB注册等在Joomla 1.7中已经改变了。是否有任何有用的链接可以很好地解释所有内容?
答案 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编码数据
修改强> 如果您从前端添加文章(如果是后端,请让我知道)
,这应该可以解决您的问题'addimage'varchar(255)DEFAULT NULL
然后修改以下文件:
../ 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) : ?>
../ 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, ' .
../ com_content / models / forms / article.xml [ADD SOMEWHERE]
<field
id="addimage"
name="addimage"
type="text"
label="Add Image"
class="inputbox"
/>
../ 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中。 攻击核心总是很糟糕。主要是因为你失去了更新路径。