0

サブメニューをスタンドアロンモジュールとして表示するモジュールを開発しました。sefが有効になるまですべてが正常に機能し、アイテムIDが正しいものに変更されません。

<ul class="list2">

                    <?php foreach ($items as $row) :?>
                    <?php

                        //$router = JSite::getRouter();
                        if ($router->getMode() == JROUTER_MODE_SEF) {

                            $link = $router->build($row->link);
                            $router->setVar('Itemid',$row->id);
                            echo $_REQUEST['Itemid'];
                            //$link =$row->alias;
                        }else {
                            $link = $row->link.'&Itemid='.$row->id;
                        }

                    ?>

JSITE ::routeをrouter->buildでも使用してみて、$ _ Request ['Itemid']をリセットしようとしましたが、何も機能しませんでした

私が間違っていること、何か助けてください?

4

1 に答える 1

1

解決策が見つかりました。リンクを作成する前にアイテムIDを変更する必要があります

$router->setVar('Itemid',$row->id);
$link = $router->build($row->link);

うまくいけば、これは他の開発者に役立つでしょう:)

于 2012-06-13T16:31:48.550 に答える