标签: joomla

将jQuery导入Joomla

我已经成为Joomla开发人员近一年了.我每天都在努力将jQuery导入joomla.Joomla带有mootools.当我导入jQuery时它崩溃了.此外,当我创建模块时,我必须将jQuery导入每个模块,这使得站点变慢.有时它会使整个网站崩溃.我希望mootools和jquery能够携手合作,所以我可以使用它们而不会发生任何崩溃.

将jQuery导入Joomla的最佳方法是什么?是否有特定的位置需要导入以在站点范围内使用一个jquery库(后端和前端)?

谢谢

jquery joomla joomla2.5 joomla3.0 joomla3.1

10
推荐指数
1
解决办法
8936
查看次数

如何在Joomla视图中更改负载布局?

默认情况下 parent::display($tpl);加载components/com_my_component/views/my_component/tmpl/default.php,但在某些情况下我需要加载其他php文件,它位于相同的文件夹附近default.php(例如components/com_my_component/views/my_component/tmpl/lol.php).如何做到这一点view.html.php.

PS

尝试负载loadTemplatesetLayout方法没有运气.

joomla joomla2.5

10
推荐指数
1
解决办法
9230
查看次数

写入joomla组件中的多个表?

我正在尝试创建一个使用多个表的组件(前端).我发现1或2个帖子部分回答了这个问题,但没有一个确实如此.对于知道如何做到这一点的人来说,这一点似乎总是很简单明了,但从未真正解释过(或者我错过了正确的帖子).

在我的组件中,用户在一个视图中输入需要存储在两个表中的数据:标准的Joomla User表,即#__users用于存储未包含在Joomla中的数据的附加表,即#__users_complements

我是初学者,所以也许我错了,但我明白joomla的标准功能只能在一个表中保存表单的结果.就我而言,我想我必须覆盖模型中的标准函数:com_component/model/my_model.php.

1)我很困惑,因为我真的不明白哪个函数必须被覆盖:save()?商店()?其他?

2)假设我重写了save()函数,我应该重写所有代码来保存数据(爆炸数据数组并创建所有更新查询),还是应该创建2个标准表对象.

在这种情况下,(2个对象)每次将整个数据数组发送到父函数似乎很奇怪,因为我知道一个部分用于表1而另一部分用于表2.我应该能够在分开之前拆分我呢?

3)当我从表单中获取数据并调用模型的保存功能时,是否应该创建2个模型并从我的控制器管理这些模型?

你能帮我澄清一下如何在多个表中保存吗?我们非常感谢代码示例.谢谢

database joomla components joomla2.5

10
推荐指数
1
解决办法
8698
查看次数

Joomla 3.2.1密码加密

当用户在网站上注册时,我在密码表中查看数据库joomla_users,有以下格式存储的密码:

  • $ P $ Do8QrURFT1r0NlWf0X/GRDF/aMqwqK /

  • $ P $ DH38Lch9z508gJiop3A6u0whTity390

  • ........

但不是文档中描述的形式(MD5 +":"+ SALT):

  • 1802ebc64051d5b4f4d1b408babb5020:0PHJDbnsyX05YpKbAuLYnw2VCzFMW2VK

我需要为我澄清这一点,因为我正在使用外部脚本检查用户凭据以检查密码匹配.

在我的PHP脚本中,我有代码从数据库中的密码中分离SALT:

$parts   = explode( ':', $password_database );
$crypt   = $parts[0];
$salt   = $parts[1];
Run Code Online (Sandbox Code Playgroud)

但如果没有dobule结(:),我不能这样做

php joomla password-hash

10
推荐指数
3
解决办法
2万
查看次数

在双nginx反向代理中正确处理request_uri?

所以,基本上我在Docker php7-fpm容器中运行Joomla,然后我有一个nginx容器,其中一个joomla.conf文件定义如下:

#https://docs.joomla.org/nginx

server {
  listen 8081;

  error_log  /var/log/nginx/error.log;
  access_log /var/log/nginx/access.log;

  server_name php-docker.local;

  root /usr/src/joomla;
  index index.php index.html index.htm default.html default.htm;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  # deny running scripts inside writable directories
  location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
    return 403;
    error_page 403 /403_error.html;
  }

  location ~ \.php$ {
    fastcgi_pass  joomla:9000;
    fastcgi_index index.php;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;

    include fastcgi_params;
    #include /etc/nginx/fastcgi.conf;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
  }
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作...转到http://:8081正确加载所有内容.

现在,8081只是暂时暴露在nginx容器中,我本来想要做的是设置一个反向代理,这样http:/// joomla将成为最终的端点.

为此,我正在努力处理以下conf文件:

server{

  listen 80;
  server_name _;

  location …
Run Code Online (Sandbox Code Playgroud)

php joomla reverse-proxy nginx docker

10
推荐指数
2
解决办法
746
查看次数

为什么Joomla调试显示记录了446个查询并记录了446个遗留查询?

我已经被要求修复已经设置的Joomla站点的性能.

我查看调试输出,它显示两次相同的查询,一次用于记录的查询,再次显示记录的旧查询.我的猜测是它实际上运行相同的查询两次,每页只有不到900个查询(希望我错了)

Legacy插件已禁用,因此传统模式根本不启用.该站点也使用VirtueMart(如果全局配置中的缓存已打开,则BTW无法正常工作)

除了我认为它不应该运行446个查询这一事实(有时甚至高达每页650个),任何人都遇到过这个问题,我想在哪里解决这个问题.

更新:

回答下面的问题......它正在运行Artio JoomSef,以及System - SEF插件

谢谢

legacy performance joomla virtuemart

9
推荐指数
1
解决办法
1005
查看次数

使用gorm映射现有的mysql数据库

我正在尝试使用GORM和Grails 2.0映射Joomla MySQL数据库(的一小部分).

我正在阅读一本关于论证的书(Grails)并在网上搜索技术文章,但我仍然需要一个很好的参考来将Groovy/Java类型映射到MySQL字段.

我从一张简单的桌子开始jos_bannerclient.

class BannerClient {
    String name
    String contact
    String email
    String notes
    String editor = ''

    static constraints = {
        name(blank:false)
        contact(nullable:true)
        email(nullable:true)
        notes(nullable:true)
        editor(nullable:true)
    }

    static mapping = {
        datasource 'joomla'
        table 'jos_bannerclient'
        id column:'cid', type:'int'
        notes column:'extrainfo', type:'text'
        version false
    }
}
Run Code Online (Sandbox Code Playgroud)

此时记录是在数据库中生成的,但如果我保存域,failOnError:true我会收到此错误:java.lang.IllegalArgumentException.

我在映射checked_out TINYINT字段时遇到了问题.GORM验证该字段的唯一方法是将其声明为Boolean,为什么它不起作用Byte

我对如何映射MySQL TIME字段也有一些疑问checked_out_time.

我还阅读了Hibernate文档的一些部分,但仍然没有获得完成此任务所需的知识!

有人可以帮忙吗?

mysql joomla grails map grails-orm

9
推荐指数
1
解决办法
1959
查看次数

我什么时候应该在Joomla中使用setUserState?

细节

我可以使用用户状态变量来存储和检索Joomla会话中的数据.

示例设置变量

$app =& JFactory::getApplication();
$app->setUserState( 'myvar', $myvarvalue );
Run Code Online (Sandbox Code Playgroud)

但我也可以使用JFactory/getSession在会话中存储和检索变量.

示例设置变量

$session =& JFactory::getSession();
$session->set('myvar', $myvarvalue);
Run Code Online (Sandbox Code Playgroud)

问题

这两种方法有什么区别?我什么时候应该使用另一个?

php joomla session-variables session-state joomla2.5

9
推荐指数
1
解决办法
4518
查看次数

的Joomla!不推荐使用JDatabase :: getErrorNum(),而是使用异常处理

我有以下代码:

    $db = JFactory::getDbo();
    $query = $db->getQuery(true);

    $query->select('*');
    $query->from('#__users');
    $db->setQuery($query);

    // Check for a database error.
    if ($db->getErrorNum()) {
        JError::raiseWarning(500, $db->getErrorMsg());
    }       

    $result = $db->loadResult();
Run Code Online (Sandbox Code Playgroud)

现在不推荐使用getErrorNum和JError.

为了澄清,JError和$ db-> getErrorNum()在Joomla 2.5中不被弃用,但是在Joomla中!3.0.所以这个问题对于那些为2.5开发但希望轻松升级到3.X系列的人来说是有价值的.

那么究竟要更换它们以便我可以正确检查数据库错误?

joomla joomla2.5 joomla3.0

9
推荐指数
2
解决办法
4583
查看次数

Joomla - 返回JSON数据的Controller任务

我的run控制器中有任务.我希望它返回JSON数据.就目前而言,我将我的JSON数据包装在模板HTML中.如何告诉Joomla只从控制器返回JSON数据?这是我的功能:

public function run  ( ) {

    JFactory::getDocument()->setMimeEncoding( 'application/json' );

    JResponse::setHeader('Content-Disposition','attachment;filename="progress-report-results.json"');

    JRequest::setVar('tmpl','component');

    $data = array(
        'foo' => 'bar'
    );

    echo json_encode( $data );

}
Run Code Online (Sandbox Code Playgroud)

这会返回:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr">
...
</head>
<body class="contentpane">

<div id="system-message-container">
</div>
    {"foo":"bar"}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想得到:

{"foo":"bar"}
Run Code Online (Sandbox Code Playgroud)

php joomla json joomla2.5

9
推荐指数
1
解决办法
1万
查看次数