- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我安装了带有自定义函数的 joomla,我需要在我拥有的另一个 php 脚本中使用这些自定义函数在 joomla 网站中,我在libraries>rvv>factory.php 中有函数和组件>com_customs文件夹
在查看 tmpl 页面上,显示其中一个函数 <?php $points = RFactory::getPoint($downLine->agentID); ?>
<th><?php echo $points['left'].' - '.$points['right']; ?></th>
关于组件函数脚本文件
public function getDownLine($agentId)
{
ini_set('max_execution_time', 600); //300 seconds = 5 minutes
$this->downLinesRecursion($agentId);
function cmp( $a, $b )
{
if( $a->agentID == $b->agentID ){ return 0 ; }
return ($a->agentID < $b->agentID) ? -1 : 1;
}
usort($this->downLine,'cmp');
$this->_total = count($this->downLine);
$endDownLine = array_splice($this->downLine, $this->getState('limitstart'), $this->getState('limit'));
return $endDownLine;
}
protected function downLinesRecursion($agentId)
{
$downLineIDs = RFactory::getDownLines($agentId);
if($downLineIDs){
foreach ($downLineIDs as $downLineID){
$agent = RFactory::getAgent($downLineID->id);
$this->downLine[] = $agent;
$this->downLinesRecursion($agent->agentID);
}
}
}
public function getAgentExisting($agentId)
{
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
$this->subAgentID = $agentId;
$this->existingRecursion($this->agentID);
return $this->agentExisting;
}
protected function existingRecursion($agentId)
{
$downLineIDs = RFactory::getDownLines($agentId);
if($downLineIDs){
foreach ($downLineIDs as $downLineID){
if($downLineID->id == $this->subAgentID){
$this->agentExisting = true;
}else{
$this->existingRecursion($downLineID->id);
}
}
}
}
public function getAgentId($username)
{
$userId = $this->getUserId($username);
if($userId){
$agentIds = RFactory::getAgentIds($userId);
foreach ($agentIds as $AgentId) {
$agentId = $AgentId->id;
break;
}
return $agentId;
}else {
return false;
}
}
关于工厂文件:
public static function getAgent($agentId)
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select(' ag.id AS agentID, ag.user_id AS agentUserID, ag.parent_client_id, ag.directe_client_id, ag.position, date(ag.reg_time) AS joinDate, ag.offers_id, ag.cash');
$query->select(' ofr.* ');
$query->select(' usrinf.* ');
$query->select(' usr.name AS agentName, usr.username, usr.email, date(usr.registerDate) AS regDate ');
$query->select(' stk.value AS stockValue ');
$query->from(' #__r_clients AS ag ');
$query->leftJoin(' #__r_offers AS ofr ON ofr.id = ag.offers_id ');
$query->leftJoin(' #__r_clients_info AS usrinf ON usrinf.user_id = ag.user_id ');
$query->leftJoin(' #__users AS usr On usr.id = ag.user_id ');
$query->leftJoin(' #__r_stock AS stk On stk.client_id = ag.id ');
$query->where(' ag.id = '.$agentId);
$db->setQuery((string)$query);
$data = $db->loadObject();
if (!$db->query()) {
JError::raiseError(500, $db->getErrorMsg());
return false;
}else {
if ($db->getNumRows() < 1){
return false;
}else{
return $data;
}
}
}
public static function getAgents()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select(' ag.id AS agentID, ag.user_id AS agentUserID, ag.parent_client_id, ag.directe_client_id, ag.position, date(ag.reg_time) AS joinDate, ag.offers_id, ag.cash');
$query->select(' ofr.* ');
$query->select(' usr.name AS agetName, usr.username, usr.email, usr.registerDate ');
$query->from(' #__r_clients AS ag ');
$query->leftJoin(' #__r_offers AS ofr ON ofr.id = ag.offers_id ');
$query->leftJoin(' #__users AS usr On usr.id = ag.user_id ');
$db->setQuery((string)$query);
$data = $db->loadObjectList();
if (!$db->query()) {
JError::raiseError(500, $db->getErrorMsg());
return false;
}else {
if ($db->getNumRows() < 1){
return false;
}else{
return $data;
}
}
}
public static function getDownLines($agentId)
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select(' id ');
$query->from(' #__r_clients ');
$query->where(' parent_client_id = '.$agentId);
$db->setQuery((string)$query);
$data = $db->loadObjectList();
if (!$db->query()) {
JError::raiseError(500, $db->getErrorMsg());
return false;
}else {
if ($db->getNumRows() < 1){
return false;
}else{
return $data;
}
}
}
public static function getPoint($agentId)
{
$downLines = self::getDownLines($agentId);
self::$rightPoint = 0;
self::$leftPoint = 0;
if($downLines){
foreach ($downLines as $downLine){
$agent = self::getAgent($downLine->id);
if($agent->position == 'R'){
self::$rightPoint += $agent->point;
self::rightPointRecursion($agent->agentID);
}else {
self::$leftPoint += $agent->point;
self::leftPointRecursion($agent->agentID);
}
}
return $pointArray = array('right' => self::$rightPoint, 'left' => self::$leftPoint);
}else {
return $pointArray = array('right' => 0, 'left' => 0);
}
}
private function rightPointRecursion($agentId)
{
$downLines = self::getDownLines($agentId);
if($downLines){
foreach ($downLines as $downLine){
$agent = self::getAgent($downLine->id);
self::$rightPoint += $agent->point;
self::rightPointRecursion($agent->agentID);
}
}
}
private function leftPointRecursion($agentId)
{
$downLines = self::getDownLines($agentId);
if($downLines){
foreach ($downLines as $downLine){
$agent = self::getAgent($downLine->id);
self::$leftPoint += $agent->point;
self::leftPointRecursion($agent->agentID);
}
}
}
自定义 joomla 代码位于组件内部>com_hierarchical>hierarchical.php 包含:
JLoader::register('HierarchicalHelper', dirname(__FILE__) . DS . 'helpers'. DS . 'hierarchical.php');
jimport('joomla.application.component.controller');
$document =& JFactory::getDocument();
$script = JURI::base(true).'/components/com_hierarchical/assist/gscript.js';
$style = JURI::base(true).'/components/com_hierarchical/assist/gstyle.css';
$document->addScript($script);
$document->addStyleSheet($style);
$controller = JController::getInstance('Hierarchical');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
如何在 joomla 脚本之外的另一个 php 文件中使用这些函数?
最佳答案
在您的外部 php 脚本中只需加载 Joomla 框架,
然后您就可以在外部 php 文件中使用所有 Joomla 函数和对象。
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );//this is when we are in the root
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
希望有帮助..
关于php - 在外部 php 脚本中使用 joomla 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20678438/
hello world tutorial对于 Joomla 状态: $mainframe is a global variable in Joomla that has lots of useful
我已经通过了:http://docs.joomla.org/How_to_add_breadcrumbs 和 http://api.joomla.org/Joomla-Framework/Applic
在为模块设置添加参数字段时,我正在寻找可能的过滤器列表。 我知道 Text form field type 的示例中存在 filter="raw"和 filter="integer". 但是这些字段的
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
是否可以为 Joomla 1.5 后端和前端实现单点登录。我发现当管理员例如在后端登录并且需要在前端执行一些用户功能时必须再次登录,这有点多余。有没有实现单点登录的方法? 最佳答案 乔姆拉!被实现为两
我们如何在 joomla 中渲染带有标题的模块。因为现在,我可以根据位置渲染模块,但它不包括模块标题。 这是我渲染模块的方式。 title); echo JModuleHelper::renderMo
我正在 joomla 中开发一个自定义搜索模块。所以我正在使用 joomla 的内置数据库连接和功能。 问题是我想在这个模块中使用分页类,但不知道任何提示。 请帮我解决这个问题。 谢谢。 最佳答案 第
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
我在joomla中使用youtube视频,其中代码如下:- [jv_youtube url="https://www.youtube.com/watch?v=8Di0IOQssOM&rel=0" wi
我使用 onContentPrepare 事件将此 [test] 更改为其他文本 o prinf html,如 wordpress 短代码,但没有任何变化。 出了什么问题? 这是shortcodejd
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
请先转到www.espacioasir.com,然后注意第二篇文章如何“压碎”到左侧-文章正常宽度的一半。 无论如何,我认为我无法解释得更多,我的问题很清楚:为什么会这样?我确实想提及一下,本文的内容
有些人可能知道,Wordpress 在设置中有一个选项,允许在子目录中安装站点,同时将站点 URL 设为主域。它类似于“站点 url”和“Wordpress url”。我在 Joomla 中寻找类似的
我遇到的这种情况:安装了 joomlaxy/JSPT/Payplans 的 joomla 运行良好。 现在,我在/pages 文件夹中做了一个小的 php 脚本,用于在特定用户类型的模板中使用,它调用
我知道如何为 Joomla 1.6 创建一个模块。但是我听说可以在同一个 XML 安装文件中添加一组 Joomla 1.5 参数和一组 Joomla 1.6 参数,以使只有一个包与 1.6 和 1.5
自从昨晚 Joomla 3.0 Alpha 发布以来,我想尝试开始将我编写的 Joomla 2.5 组件转换为新的 Joomla 3.0。我一直在关注所有的开发小组,他们说 JController、J
我在 Joomla 1.5 中工作并开发了一个组件,该组件有 2 个 View ,在两个 View 中具有相同的部分。我正在重复代码,因为我在 2 个不同的 View 中使用了相同的代码。所以我想知道
我正在构建一个自定义 Joomla 组件,并将其添加到我的模板 (default.php) 文件(它使用 HTTP POST)中的表单中: echo JHTML::_( 'form.token' );
拿起 Joomla 的最快方法是什么?书籍,培训等?我们希望在 Joomla 中培训 10 名中高级 Java 开发人员。 最佳答案 如果你想节省时间,不要从官方的 joomla 文档开始。转至 ht
我之前以这种方式从 Joomla 文章中添加了 Joomla 模块:{loadmodule mod_name}但是这次我需要从中传递参数。 如何将文章中的参数传递给 Joomla 模块? 最佳答案 您
我是一名优秀的程序员,十分优秀!