2016-08-24 12 views
2

サービスの無制限の操作を保存する新しい属性をサービスに追加しました(連絡先やエンドポイントのテーブルのようなものです)WSO2 GREGのストアに属性テーブルを表示するにはどうすればよいですか?

私の質問は、その属性テーブルをStoreでどのように表示するかです。

私は、資産attributes.hbsこの

<div class="es-col-lg-12 col-lg-12"> 
    <h4>{{t "Operaciones del Servicio Web"}}</h4><hr> 


    {{#each this.attributes.operaciones_nombre }} 


    <div class="es-col-lg-12 col-lg-12 divrow"> 
     <div class="col-lg-2"><b>{{t "Nombre"}} :</b></div> 
     <div class="col-lg-10">{{ this.attributes.operaciones_nombre}}</div> 
    </div> 

    {{/each}} 

のような新しい属性を入れてみましたedditingしかし、問題は、それが#eachの内だとき、それはthis.attributes.operaciones_nombreを示しdoesntのことです、私がを使用した場合でもthis.attributes.operaciones_nombre。[0]最初の要素だけ

を示し、なぜループのみ{{#eachのthis.attributes.operaciones_nombre}}で動作なく{{#eachのthis.attributes.operaciones}}には? asset.jsで定義する必要がありますか?

+0

5.2.0を使用していますか?あなたの問題を解決する答えはありますか? – tkr

答えて

1

連絡先の場合はこれを使用します。私はrestserviceとその作品のためのコードの下でうまく動作します。エンドポイントのために、あなたの場合は同じものを使用することができます。関連asset.jsで

は asset.renderer

asset.renderer = function (ctx) { 
    return { 
     pageDecorators: { 
      jsonFormatter: function (page) { 
       if (page.meta.pageName === 'details') { 
        var contacts = page.assets.attributes.contacts_entry; 
        if (contacts) { 
         var contacts_entry = []; 
         if (contacts.constructor === Array) { 
          for (var index in contacts) { 
           var contact = contacts[index].split(':'); 
           var contact_entry = {}; 
           contact_entry.name = contact[0]; 
           contact_entry.value = contact[1]; 
           contacts_entry.push(contact_entry); 
          } 
         } else { 
          var contact = contacts.split(':'); 
          var contact_entry = {}; 
          contact_entry.name = contact[0]; 
          contact_entry.value = contact[1]; 
          contacts_entry.push(contact_entry); 
         } 
         page.assets.attributes.contacts_entry = contacts_entry; 
        } 
       } 
      } 
     } 
    }; 
}; 

注下に追加:ここで定義pageDecoratorsが既に存在する場合、コンマを使用してこれらの方法を分離し、上記の方法を追加します。 資産attributes.hbsで

、ラインの下

<div class="col-lg-12"> 
     <h4>Contacts</h4><hr> 
     <div class="col-lg-12 table table-striped table-hover divrow"> 
      {{#each attributes.contacts_entry}} 
      <div class="col-lg-2">{{name}}</div> 
      <div class="col-lg-10">{{value}}</div> 
      {{/each}} 
     </div> 
    </div> 

注追加:あなたの資産の拡張では、あなたが資産attributes.hbsに(/ {GREG_HOME} /リポジトリ/展開を持っている必要がありますが/server/jaggeryapps/store/extensions/assets/{SHORTNAME}/themes/store/partials/asset-attributes.hbs)ファイルは、greg-store-defaultsにあるデフォルトファイルを上書きします。

出版社や店舗のサンプルスクリーンショットを見つけてください、

出版社

Pub view

ストア

store view

注:そこをいくつかのアラインメントの問題です。 CSS /ブートストラップ! ;)

this blog postを参照してください。

注:次回は関連する属性のrxt定義も追加してください。

+0

ありがとうございます。しかし、私はこの部分を理解できません_var contacts = page.assets.attributes.contacts_entry; _。_page.assets.attributes.operaciones_entry_を置くべきですか?この_entry_はどこから来たのですか? – Skeitho

+0

@ダニエルズあなたはまずそれを試しましたか? BTWが正常に動作し、正常に動作し、スクリーンショットも添付されました。 :) – tkr

+0

私があなたのケースについて理解している限り、 'page.assets.attributes.operaciones_entry' – tkr

関連する問題