将变量传递给Joomla文章中包含的PHP文件

时间:2016-02-25 15:51:52

标签: php variables joomla include

我是Joomla的新手,但不是新的程序员。我已经在PHP中编写了几个我希望包含在Joomla文章中的应用程序。很简单:

<?php include 'file.php'; ?>

问题是在PHP文件中我有一堆代码收集和创建我需要POST并检索的变量。我可以在文章中获取这些POST变量,但我无法将它们传递回包含的PHP文件。

我甚至编码了包含的PHP文件来访问Joomla框架,希望能够检索Joomla用户ID。这不会在文章中运行并且返回空。但是,如果我在文章之外自己运行PHP文件,我可以访问所有POST数据(显然)以及Joomla JFactory数据。所以它运行正常,直到它作为文章放在文章中。

我能够将某些内容传递给所包含的PHP文件的唯一方法是使用$_GET这样的url变量:

<?php include 'file.php?data=something'; ?>

然而,这实际上并不实际,因为我有太多的变量要传递。通常,包含的PHP文件作为父脚本的一部分运行,并且可以访问所有变量。我怎样才能在Joomla中实现这个目标?

非常感谢!

4 个答案:

答案 0 :(得分:0)

试试这个,

你必须为你的需求创建一个简单的模块,意味着你想要用包含的php文件实现的目标。

然后将该模块放在带有let object = JSON(readableJSON) let earliest = object["searchCriteria"]["timeAdjustments"]["earliest"]["date"].stringValue print(earliest) 的文章中 那么你将获得该文章的所有POST变量,并假设user_id和所有其他joomla Factory可以被访问bcoz它的Joomla模块。

可以找到关于模块创建的快速教程here

希望它有意义。

答案 1 :(得分:0)

不建议将php包含在文章中。请尝试使用以下方法之一:

  1. 将代码加载到模板中的index.php文件中:/templates/yourtemplate/index.php。每次调用页面时都会调用此文件。
  2. 对要加载外部php文件的组件进行模板覆盖。如果这是在文章中,您将/components/com_content/views/article/tmpl/default.php(可能还有其他文件)复制到/ templates / yourtemplate / html / com_content / article。然后在这里添加include语句。 (info)每次查看单篇文章时都会加载此文件,但如果(无论如何),您可以使用其他逻辑来运行它...
  3. 如果您想在文章中的内容中加载php-file,请使用Jobin Jose的方法。 (info
  4. 编写plugin
  5. 的其他一些方法
  6. ...或component
  7. 我想说最简单的方法可能是2.(或1.),但这一切都取决于你想做什么。

答案 2 :(得分:0)

我使用名为Sourcerer的扩展程序解决了这个问题 https://www.nonumber.nl/extensions/sourcerer

现在可以毫无问题地传递变量。

感谢您的投入。

答案 3 :(得分:-1)

为什么不尝试创建一个新的Joomla组件并做任何你想做的事情?

我绝对是php / mysql的初学者,但设法按照我的页面操作,按照以下说明操作: http://www.inmotionhosting.com/support/edu/joomla-3/create-component/helloworld

当您创建此组件时,无论您在其“default.php”文件中编写什么,实际上都是一个空白的HTML / PHP页面,其中包含您的joomla设计和其他一些Joomla功能。

对不起业余的答案和术语:)