2010-11-01 18 views
9

olarak okuyunuz. Bıyık bölümünde alt bölümdeki değişkenin alt bölümden okunması mümkün mü?Bıyık: alt bölümdeki altyazı değişkenlerini

örneği aşağıda benim örnek için, istediğim {{order_store.id}} o $ order_store [(şimdiki çocuk döngüsünün dizi indeksi)] [ 'id']

ebeveyn var değişkeni okumak için

template.mustache

{{#order_store}}<table> 
    <caption> 
     Store Name: {{name}} 
     Product Ordered: {{products}} 
     Product Weights: {{products_weight}} 
    </caption> 
    <tbody> 
     {{#shipping_method}}<tr> 
      <td> 
       <input type="radio" name="shipping[{{order_store.id}}]" id="shipping-{{id}}" value="{{id}}" /> 
       <label for="shipping-{{id}}">{{name}}</label> 
      </td> 
      <td>{{description}}</td> 
      <td>{{price}}</td> 
     </tr>{{/shipping_method}} 
    </tbody> 
</table>{{/order_store}} 

örnek verileri (PHP); Burada

   $order_store => array(
       array(
        'id' => 1, 
        'name' => 'Kyriena Cookies', 
        'shipping_method' => array(
         array(
          'id' => 1, 
          'name' => 'Poslaju', 
          'description' => 'Poslaju courier' 
         ), 
         array(
          'id' => 2, 
          'name' => 'SkyNET', 
          'description' => 'Skynet courier' 
         ), 
        ), 
       )); 

cevap

7

Bıyık Üst nesnelere başvurmak için izin vermez. Alt bölüm içinde görüntülenmesini istediğiniz herhangi bir veri alt dizisinde yer almalıdır. Örneğin

:

$order_store => array(
array(
    'id' => 1, 
    'name' => 'Kyriena Cookies', 
    'shipping_method' => array(
     array(
      'id' => 1, 
      'name' => 'Poslaju', 
      'description' => 'Poslaju courier', 
      'order_store_id' => '1' 
     ), 
     array(
      'id' => 2, 
      'name' => 'SkyNET', 
      'description' => 'Skynet courier', 
      'order_store_id' => '1' 
     ), 
    ), 
)); 

Sonra etiketi {{order_store_id}} kullanabilirsiniz.

Nokta gösterimi bu durumda yardımcı olmaz - ana diziye sihirli bir şekilde erişemezsiniz. (Bu arada, nokta notasyonu tüm bıyık ayrıştırıcıları tarafından desteklenmez; bu nedenle, şablonlarınızı gelecekte başka bir programlama dili ile yeniden kullanmak isteyip istemediğinizden emin olmak için muhtemelen en iyisidir.)

+0

Aslında @sofia öneri almak ve Gidon kullanacaktır. js. Bu, bıyıkla uyumludur, ancak üst bağlamda arama olarak bazı yeni özellikler ekler. Aynı problem vardı ve Gidon benim json içeriğimi değiştirmeden çözmemde bana yardımcı oldu. –

+0

@GustavoCardoso Soru, PHP'de bir cevap arıyor. –

+0

Bunu ** js ** 'de denedim ve Moustache sadece bir referans ile bir ana nesneye başvurmam için bana izin veriyor gibi görünüyor, ** Eğer çocuk dizisinde ** çakışan isimler yoksa (eğer varsa, Bıyık çocuktan birini alacak. Yine de PHP'de ne olduğunu test etmedim. – Pere

-2

hüner eklemek için şablonun başında geçerli:

{{%DOT-NOTATION}} 
+0

Ne?!? "eğer"........ –

5

olmadığı boş nesne ile,

{{../order_store.id}} 
1

Ben aynı problem vardı: istemci tarafında derlenmiş olan şablon olup, başka bir seçenek bıyık ile uyumlu HandlebarsJS şablonları kullanın ve ebeveyn notasyonu kullanmaktır null Eğer ben de picture.id kullanabilirsiniz gördüğünüz gibi deyimi picture.src değeri