web-dev-qa-db-ja.com

Drupalgapでメニューリンクをユーザー/編集に設定する方法

プロファイルビューのタブは必要ありません。メニューから直接user /%/ edit /にリンクしたいと思います。以下のsettings.jsで私は異なるパスを試しましたが、どれもうまくいきませんでした。

// User Menu Authenticated
drupalgap.settings.menus['user_menu_authenticated'] = {
 options: menu_popup_get_default_options(),
 links: [
{
  title: 'My Account',
  path: 'user',
  path: 'user/%/edit', //not working
  path: 'user/edit', // not working
  options: {
    attributes: {
      'data-icon': 'user',
      'class': 'ui-btn ui-btn-icon-right'
    }
  }
},

そのような直接リンクを設定する(簡単な)方法はありますか?

2
user24957

settings.jsファイルはDrupalGapに読み込まれ、フレームワークは現在のユーザーが誰であるかをまだ認識していないため、このタイプのダイナミックリンクを従来のDrupalGapメニューに配置することはできません。代わりに、ブロックを使用して動的メニューをシミュレートできます。

http://docs.drupalgap.org/7/Menus/Menus_with_Dynamic_Links

/**
 * Implements hook_block_info().
 */
function my_module_block_info() {
  try {
    var blocks = {};
    blocks['my_module_user_menu'] = {
      delta: 'my_module_user_menu',
      module: 'my_module'
    }
    return blocks;
  }
  catch (error) { console.log('my_module_block_info - ' + error); }
}

/**
 * Implements hook_block_view().
 */
function my_module_block_view(delta, region) {
  try {
    var content = '';
    switch (delta) {
      case 'my_module_user_menu':
        var uid = Drupal.user.uid;
        var html = theme('popup', {
            content: theme('jqm_item_list', {
                items: [
                  l('View profile', 'user'),
                  l('Edit account', 'user/' + uid + '/edit'),
                  l('Logout', 'user/logout')
                ]
            }),
            attributes: {
              id: drupalgap_get_page_id() + '_my_module_user_menu'
            },
            button_attributes: {
              'data-icon': 'bars',
              'data-iconpos': 'notext',
              'class': 'ui-btn-left'
            }
        });
        return html;
        break;
    }
    return content;
  }
  catch (error) { console.log('my_module_block_view - ' + error); }
}
3