バージョン選択

フォーラム

メニュー

オンライン状況

61 人のユーザが現在オンラインです。 (49 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 60
thegioiye もっと...

サイト内検索

プラグイン > 開発について > パラメーターのあるURLを左メニューに追加

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ABeard89
投稿日時: 2017/2/16 18:02
対応状況: −−−
半人前
登録日: 2017/2/3
居住地:
投稿: 12
パラメーターのあるURLを左メニューに追加
[EC-CUBE] 3.0.13
[PHP] 7.1.0
[カスタマイズの有無] 無

プラグインで管理画面の左メニュー追加をしようとしています。このようなURLを使ったら、方法分かります。
$app->match('/admin/test1', 'Object::method')->bind('test_url_1')

適切なところでこんな配列を入れたら、問題はありません。
array(
    'id' => 'item_id',
    'name' => 'Item Name',
    'url' => 'test_url_1'
)


しかし、パラメーターのあるURLを使ったら、
$app->match('/admin/test2/{id}', 'Object::method')->bind('test_url_2')

同じように、配列を作って入れたら、
array(
    'id' => 'item_id',
    'name' => 'Item Name',
    'url' => 'test_url_2'
)

「id」が設定されていませんから、URLにできません。

「id」がちゃんとあれば、URLに設定方法はありますか?

返事してくれて誠にありがとうございます!
ABeard89
投稿日時: 2017/2/17 11:02
対応状況: −−−
半人前
登録日: 2017/2/3
居住地:
投稿: 12
Re: パラメーターのあるURLを左メニューに追加
はっきり言ったら、このようにサービスプロバイダーで入れています。
<?php

namespace Plugin\TestPlugin\ServiceProvider;

use Eccube\Application;
use Silex\Application as BaseApplication;
use Silex\ServiceProviderInterface;

class TestPluginServiceProvider implements ServiceProviderInterface
{
    public function register(BaseApplication $app)
    {
        $app->match('/admin/test1', 'Object::method')->bind('test_url_1');
        $app->match('/admin/test2/{id}', 'Object::method')->bind('test_url_2');
        
        $app['config'] = $app->share(
                    $app->extend(
                        'config',
                        function ($config) {
                            // 親アイテム
                            $menuItem['id'] = "parent_item";
                            $menuItem['name'] = "Parent Item";
                            $menuItem['has_child'] = "true";
                            $menuItem['icon'] = "cb-plus-square";
                            
                            // 子供アイテム
                            $children = array(
                                array(
                                    "id" => "child_item_1",
                                    "name" => "Child Item 1",
                                    "url" => "test_url_1" // 成功
                                ),
                                array(
                                    "id" => "child_item_2",
                                    "name" => "Child Item 2",
                                    "url" => "test_url_2" // 失敗、idが無い
                                )
                            );
                            
                            $menuItem['child'] = $children;

                            $nav = $config['nav'];
                            
                            // 設定アイテムの位置を習得
                            $insertAtIndex = 0;
                            foreach ($nav as $key => $val) {
                                if ($val['id'] == "setting") {
                                    $insertAtIndex = $key;
                                }
                            }
                            
                            // 習得したところの前に入れる
                            array_splice($nav, $insertAtIndex, 0, array($menuItem));
                            
                            // 保存
                            $config['nav'] = $nav;
        
                            return $config;
                        }
                    )
        );
    }
}
umebius
投稿日時: 2017/2/20 23:58
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: パラメーターのあるURLを左メニューに追加
管理画面のメニューはadmin/nav.twigで表示されていますが
パラメータを使う様にはなっていないので
admin/nav.twigの修正が必要です。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

ABeard89
投稿日時: 2017/4/28 14:25
対応状況: −−−
半人前
登録日: 2017/2/3
居住地:
投稿: 12
Re: パラメーターのあるURLを左メニューに追加
やはり、テンプレートファイル修正が必要ですね。

返事、ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,708名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.