【问题标题】:Simple script to create link to next joomla menu创建指向下一个 joomla 菜单的链接的简单脚本
【发布时间】:2014-07-24 23:53:13
【问题描述】:

我想要的很简单(理论上)。我需要创建一个指向 joomla 中下一个菜单项的超链接。
例如,如果页面设置为menu1-->submenu 1--> item 1,则跳转到menu1-->submenu 1--> item 2。当一个子菜单上的项目完成后,跳转到下一个子菜单,依此类推。

您可以在此处查看页面http://www.vasilatos-construction.com/index.php/en/projects/houses/argostoli-area/argostoli

据我所知,我怀疑解决方案是 php。我们需要识别菜单的 id 并创建指向 id+1 的链接。有谁知道我该怎么做?

【问题讨论】:

  • 那么第1项和第2项是子子菜单链接?因为菜单表是一个嵌套集,所以您可以从给定点开始获取整个树(有一种方法),然后使用 lft (lft+1) 就可以了。

标签: php html joomla


【解决方案1】:

您可以使用 Javascript 来做到这一点。请看下面的代码:

$(document).ready( function()
{
    var current = $('li.current > a').attr('href');
    var next = null;
    var found = false;

    $('.menu a').each( function ()
    {
        var href = $(this).attr('href')
        if ( found )
        {
            next = href;
            return false;
        }

        found = ( href == current );
    });

    if ( next != null ) // here 'next' is the next url you want, if it does exist
});

请注意,我在这里使用的是 jQuery。在if ( next != null ) 中,您有下一个 URL。如果当前菜单项是最后一项,next 为空。

【讨论】:

    【解决方案2】:

    为了将来参考我正在寻找的是这个

        $app = JFactory::getApplication();
    $menu = $app->getMenu()->getActive()->id;
    
    $db = JFactory::getDBO();
    $query = "SELECT lft FROM #_menu WHERE id = '$menu'";
    $db->setQuery($query);
    $lft = $db->loadResult();
    
    $query2 = "SELECT id FROM #_menu WHERE lft = '$lft'+2";
    $db->setQuery($query2);
    $nid = $db->loadResult();
    
    $query3 = "SELECT id FROM #_menu WHERE lft = '$lft'-2";
    $db->setQuery($query3);
    $pid = $db->loadResult();
    
    $query4 = "SELECT language FROM #_menu WHERE id = '$menu'";
    $db->setQuery($query4);
    $lan = $db->loadResult();
    
    if ($lan=="en-GB")
    {echo '<a href="index.php?Itemid=';
    echo $pid;
    echo '">Previous <i  class="icon-chevron-left"></i></a> ' ;
    echo '<a href="index.php?Itemid=';
    echo $nid;
    echo '" class="icon-chevron-right"> Next</a>' ;}
    else
    {echo '<a href="index.php?Itemid=';
    echo $pid;
    echo '">Προηγούμενο <i  class="icon-chevron-left"></i></a> ' ;
    echo '<a href="index.php?Itemid=';
    echo $nid;
    echo '" class="icon-chevron-right"> Επόμενο</a>' ;}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多