Php 如何从joomla中的模块参数获取数据
我正在构建一个joomla 2.5模块,我想从模块参数访问数据传递,但我得到以下错误:致命错误:对非对象调用成员函数get() 我的代码如下: helper.php mod_feedGrabber.php mod_feedGrabber.xmlPhp 如何从joomla中的模块参数获取数据,php,joomla,Php,Joomla,我正在构建一个joomla 2.5模块,我想从模块参数访问数据传递,但我得到以下错误:致命错误:对非对象调用成员函数get() 我的代码如下: helper.php mod_feedGrabber.php mod_feedGrabber.xml 滚动进给 约西亚·杰拉尔德 1.0.0 03-04-2013 一个简单的饲料滚动。 mod_feedGrabber.xml mod_feedGrabber.php index.html helper.php tmpl/default.php tmpl/
滚动进给
约西亚·杰拉尔德
1.0.0
03-04-2013
一个简单的饲料滚动。
mod_feedGrabber.xml
mod_feedGrabber.php
index.html
helper.php
tmpl/default.php
tmpl/index.html
tmpl
default.php
我看到提供的代码的主要问题是没有将$params
传递给助手函数。应该是这样的:
defined( '_JEXEC' ) or die( 'Restricted access' );
$sitebase = JPATH_BASE;
$doc =& JFactory::getDocument();
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'/helper.php' );
$feed = new modFeedGrabber();
$url = $feed->feedurl($params);
require( JModuleHelper::getLayoutPath( 'mod_feedGrabber' ) );
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" client="site" method="install">
<name>Scroll Feed</name>
<author>Josiah Gerald</author>
<version>1.0.0</version>
<date>03-04-2013</date>
<description>A simple feed scroller.</description>
<files>
<filename>mod_feedGrabber.xml</filename>
<filename module="mod_feedGrabber">mod_feedGrabber.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
<folder>tmpl</folder>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="feedUrl"
type="url"
size="50"
label="Feed URL"
description="Enter the url of the feed"
/>
</fieldset>
</fields>
</config>
</extension>
此外,您的XML无效,因为它缺少字段集
和字段
标记的结束标记。应该是这样的:
defined( '_JEXEC' ) or die( 'Restricted access' );
$sitebase = JPATH_BASE;
$doc =& JFactory::getDocument();
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'/helper.php' );
$feed = new modFeedGrabber();
$url = $feed->feedurl($params);
require( JModuleHelper::getLayoutPath( 'mod_feedGrabber' ) );
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" client="site" method="install">
<name>Scroll Feed</name>
<author>Josiah Gerald</author>
<version>1.0.0</version>
<date>03-04-2013</date>
<description>A simple feed scroller.</description>
<files>
<filename>mod_feedGrabber.xml</filename>
<filename module="mod_feedGrabber">mod_feedGrabber.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
<folder>tmpl</folder>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="feedUrl"
type="url"
size="50"
label="Feed URL"
description="Enter the url of the feed"
/>
</fieldset>
</fields>
</config>
</extension>
滚动进给
约西亚·杰拉尔德
1.0.0
03-04-2013
一个简单的饲料滚动。
mod_feedGrabber.xml
mod_feedGrabber.php
index.html
helper.php
tmpl/default.php
tmpl/index.html
tmpl
作为提示,您可以通过将XML文件拖到浏览器窗口中快速检查该文件是否有效,例如,上面发布的代码会导致以下结果:
我已通过关闭和关闭对代码进行了更正。感谢您指出@cpplYou还需要我提到的第一个“修复”,即将$params
传递给您的帮助文件。
defined( '_JEXEC' ) or die( 'Restricted access' );
$sitebase = JPATH_BASE;
$doc =& JFactory::getDocument();
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'/helper.php' );
$feed = new modFeedGrabber();
$url = $feed->feedurl($params);
require( JModuleHelper::getLayoutPath( 'mod_feedGrabber' ) );
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" client="site" method="install">
<name>Scroll Feed</name>
<author>Josiah Gerald</author>
<version>1.0.0</version>
<date>03-04-2013</date>
<description>A simple feed scroller.</description>
<files>
<filename>mod_feedGrabber.xml</filename>
<filename module="mod_feedGrabber">mod_feedGrabber.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
<folder>tmpl</folder>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="feedUrl"
type="url"
size="50"
label="Feed URL"
description="Enter the url of the feed"
/>
</fieldset>
</fields>
</config>
</extension>