【问题标题】:Auto save joomla article for client为客户自动保存 joomla 文章
【发布时间】:2012-03-21 08:04:05
【问题描述】:

我知道这听起来有点疯狂,但是很多客户都存在无法正确保存文章的问题。

我只是想用一个简单的方法在编辑模式下触发 joomla 文章内的 APPLY 按钮的 onclick。

主要是后端编辑,因为我有一个很好的管理模板,可以让我向客户展示最基本的内容。

我知道点击应用会重新加载页面,但总比没有好。

我到底要怎么做呢?

我希望这样的事情会起作用,但我不太清楚如何触发似乎驻留在某种工具栏功能内的按钮。

我有这个:

<script type="text/javascript">

 $(document).ready(function() {

 $('??????').trigger('click');

 });

</script>

问号用什么代替?

我也知道我需要在 jquery 代码中添加一个计时器,但是如何让下面的链接触发?

http://mydomain.com/administrator/index.php?option=com_content&sectionid=1&task=edit&cid[]=97

在toolbar.content.html.php文件joomla有这个:

class TOOLBAR_content
{
    function _EDIT($edit)
    {
        $cid = JRequest::getVar( 'cid', array(0), '', 'array' );
        $cid = intval($cid[0]);

        $text = ( $edit ? JText::_( 'Edit' ) : JText::_( 'New' ) );

        JToolBarHelper::title( JText::_( 'Article' ).': <small><small>[ '. $text.' ]</small></small>', 'addedit.png' );
        JToolBarHelper::preview( 'index.php?option=com_content&id='.$cid.'&tmpl=component', true );
        JToolBarHelper::save();
                                    /////////////////////////////////////
        JToolBarHelper::apply(); // < // THIS IS WHAT I WANT TO TRIGGER
                                    /////////////////////////////////////
        if ( $edit ) {
            // for existing articles the button is renamed `close`
            JToolBarHelper::cancel( 'cancel', 'Close' );
        } else {
            JToolBarHelper::cancel();
        }       

    }
...... more stuff here
}

我知道这可能听起来很疯狂,但如果即使没有重新加载也可以自动保存,那不是很好,但我想这意味着使用 jquery 而不是 php 发布和重新加载页面方法发布所有数据。

无论如何,我并不期待这里会出现奇迹,但如果有人能提供帮助,那就太好了。

提前干杯 约翰

PS:

我刚刚尝试过这样的事情,希望它可能会起作用,但它只是重新加载页面:

function autosave()
{
window.location = "index.php?option=com_content&sectionid=<?php echo $_GET['sectionid'];?>&task=edit&cid[]=<?php echo $row->id;?>"
}

【问题讨论】:

  • 我想没有人愿意去那里......呵呵。我说这很疯狂,但是嘿……有人吗?凹凸 :)
  • jeepers @jonnypixel - 我们和你不在同一个时区...给我几分钟时间写一个回复。

标签: joomla triggers onclick


【解决方案1】:
  1. 除非您决定使用 ajax 实现重写整个 com_content,否则您将无法在不强制重新加载的情况下执行此操作。

  2. 查看您发布的代码,我猜是 Joomla! 1.5 - 默认情况下有 MooTools 1.12 或 1.2.5(如果您在 1.5.x 的更高版本中启用了 MooTools 升级插件) - 这是一个更多的问题,但为什么不使用它呢?

  3. 1234563

com_content 的文章视图的&lt;head&gt; 标记中的某处,您需要添加以下内容:

<script type="text/javascript">
    var interval = 30 //seconds
    var timer = setTimeout(submitbutton('apply'),(interval * 1000));
    }
</script>

请注意,我没有尝试过,只是直接在此处输入。

  1. 自从您使用 1.5 以来,您是否尝试过 Simple Content Versioning 扩展 - 它具有您想要的自动保存功能 - 并且可能有效,而谁知道我在 #3 中的代码。

【讨论】:

  • 非常感谢,是的,我们澳大利亚人有点不耐烦。我会考虑你的建议并检查扩展。干杯。约翰
  • 谢谢你,我玩了一段时间,在你的帮助下得到了一些东西。我什至有一个小预加载器,它会淡入并说“正在保存,请稍等......”这有点像谷歌文档,页面确实重新加载但它是如此之快以至于它所取得的成就值得.感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多