Wix Blocks Eğitimi: Sayaç Widget'ı Oluşturma

11 dakikalık okuma
Wix Blocks tüm Wix Studio kullanıcılarına açıktır. Blocks'a erişmek için Wix Studio'ya katılın
Bu eğitimde bir sayıyı artırıp azaltabileceğiniz bir sayaç widget'ının nasıl oluşturulacağı gösterilecektir. Wix Blocks ile yapabileceklerinizi bu basit widget üzerinden açıklamaya çalışacağız. 

sayaç
Bu widget'ı sıfırdan oluşturmanızı öneririz, ancak bunda zorlanırsanız Wix hesabınızda widget şablonunu Blocks'ta görüntüleme ve düzenleme olanağınız bulunmaktadır.

1. Adım | Blocks'ta yeni bir Widget oluşturun

  1. Boş bir Blocks uygulaması oluşturun.
  2. Varsayılan olarak oluşturulmuş bir widget yoksa, uygulamanıza bir widget ekleyin. 

2. Adım | Düzenleyici ekleyin

Düzenleyici, duyarlılığa izin veren ve diğer ögeleri düzenli tutan bir kapsayıcıdır. Düzenleyici eklemek için: 
  1. Üst menüdeki Öge Ekle simgesine add tıklayın. 
  2. Düzen ->  Esnek Kutular -> Düzenleyiciler seçeneklerine tıklayın.
  3. Üç bölümlü dikey düzenleyiciye tıklayın. 

3. Adım | Widget ögelerini ekleyin

Düğmeleri ekleyin

  1. Üst menüdeki Öge Ekle simgesine add tıklayın. 
  2. Düğmeler'e tıklayın. 
  3. Düğmelerden birini düzenleyicinin sağ bölümüne sürükleyip bırakın.
4. Metni ve Simgeyi Değiştir'e tıklayın. 
5. Açılır listeden Sadece metin'i seçin. 
6. Metni "+" olarak değiştirin.
7. Denetçi inspector panelindeki Tasarım simgesine design icon tıklayın ve Metin'i seçin.
8. Stil'e tıklayın ve açılır listeden 6.Başlık'ı seçin. 
9. Sol bölüme başka bir kare düğme sürükleyip bırakın. 
10. Metni "-" olarak değiştirin.

Ortadaki sayıyı ekleyin

  1. Öge Ekle düğmesine add tıklayın ve Metin'i seçin.
  2. 32px Title ögesini düzenleyicinin orta bölümüne sürükleyip bırakın. 
  3. Metni "0" olarak değiştirin ve ortaya hizalayın. 

Kimlikleri değiştirin

  1. Ekranın sağ altındaki Özellikler ve Olaylar simgesine properties and events tıklayın.  
  2. Artırma düğmenizin kimliğini incBtn olarak değiştirin.
  3. Azaltma düğmenizin kimliğini decBtn olarak değiştirin.
  4. Metin ögenizin kimliğini countTxt olarak değiştirin.

4. Adım | Ögelerinize kod ekleyin

Şimdi widget'ın görevini yapmasını, yani düğmelere tıklandığında ileri ve geri saymasını sağlayacağız: 
1. Widget'ınıza kod eklemek için Kod sekmesine tıklayın veya ekranınızın alt kısmına gidin. 
2. Aşağıdaki kodu onReady() işlevinin öncesine ekleyin.

1//Sayacı 0'a ayarlayın 
2let count = 0; 
3//Metin ögenize sayım işlemi atayın 
4function render() { 
5  $w('#countTxt').text = count.toString(); } 
6
7//Sayaç değerine belirli bir miktar ekleyin ve widget API'sinde bir etkinliği tetikleyin function addToCount(amount) { count += amount; render(); }
3. Aşağıdaki kodu onReady () işlevinize ekleyin. 
1 $w('#incBtn').onClick(() => {
2   addToCount(1); 
3 }); 
4
5$w('#decBtn').onClick(() => { 
6  addToCount(-1); }); 
7
8render();
4. Önizleme düğmesine tıklayarak widget'ınızın çalışmasını kontrol edin. 

5. Adım | Widget API ile widget'ınızı özelleştirilebilir hale getirin

Kullanıcının (widget'ı yükleyen bir site sahibinin) widget'ı kendi ihtiyaçlarına göre özelleştirebilmesi için bir widget API'si tanımlayabilirsiniz. Bu API'de özellikler, etkinlikler ve dışa aktarılan işlevler bulunabilir.

Sayacın adım ("step") miktarına site sahibinin karar verebilmesini istediğinizi varsayalım. Bu durumda site sahibi adım miktarının 2 olmasını tercih ederse, sayım 0, 2, 4, 6 vb. şeklinde ilerleyecektir. 

Widget API'sine "step" adında bir özellik tanımlayabilir ve kullanıcının bunu özelleştirmesine izin verebilirsiniz.

"step" özelliği tanımlayın

  1. Widget API simgesine widget api tıklayarak Widget API panelini açın
  2. Özellikler bölümünde Yeni Özellik Ekle'ye tıklayın (veya bölümün üzerine gelin ve add simgesine tıklayın).
3. Özelliğinize "step" adını verin, Sayı türünü seçin ve varsayılan değer olarak 1 girin. 

Kodununuzu yeni özelliği içerecek şekilde değiştirin

Düğmelere tıklandığında addToCount işlevinin varsayılan değer olan 1 yerine yeni özelliğinizdeki adım miktarı ile çağrılması için kodunuzda gerekli değişiklikleri yapın.
Özelliklerinize erişmek için $widget.props kullanın (Velo otomatik tamamlama önerilerine dikkat edin). 
1$w.onReady(function () {
2  $w('#incBtn').onClick(() => { 
3    addToCount($widget.props.step); 
4  }); $w('#decBtn').onClick(() => { 
5    addToCount(-$widget.props.step); 
6  }); 
7  
8  render(); });

Özelliğinizi önizleme modunda test edin

  1. Önizleme moduna geçmek için Önizleme'ye tıklayın. 
  2. API Özelliklerini Test Et'e tıklayın. 
3. Adım miktarını değiştirin ve widget'ınızın nasıl çalıştığını kontrol edin. 

Widget API'nize genel etkinlik ekleyin

Widget API'nize sizin tercihinize göre tetiklenecek bir etkinlik ekleyebilirsiniz. 
Örneğin, "count" değişkeninin (sayaç değerinin) değişmesi ile tetiklenen bir etkinlik eklemek için:
  1. Widget API simgesine widget api tıklayarak Widget API panelini açın. 
  2. Etkinlikler bölümündeki Yeni Genel Etkinlik Ekle'ye tıklayın (veya ilgili bölümün üzerine gelin ve add simgesine tıklayın). 
  3. Etkinliğinize "change" adını verin ve bir açıklama ekleyin.
4. Sayaç değeri değiştiğinde etkinliğin tetiklenmesi için aşağıdaki satırı addToCount() işlevinize ekleyin. 
1$widget.fireEvent('change', count);
5. Şimdi, addToCount() işleviniz şöyle görünmelidir: 
1function addToCount(amount) { 
2  count += amount; 
3  render(); 
4  $widget.fireEvent('change', count);
5}
Etkinliğinizi site editöründe yakalayın
Widget'ınızı web sitenize yükledikten sonra etkinliğinizi site editöründe yakalamanız gerekir (bu süreç 8. adımda açıklanacaktır).

Widget API'nize genel işlev ekleyin

Site sahiplerinin sayacı kolayca sıfırlayabilmeleri için bir reset() işlevi oluşturup dışa aktarın. 
  1. Widget API simgesine widget api tıklayarak Widget API panelini açın. 
  2. İşlevler bölümünde Yeni Genel Hizmet Ekle'ye tıklayın (veya bölümün üzerine gelin ve add simgesine tıklayın).
  3. Varsayılan adı foo() olan yeni bir boş işlev oluşturulur ve işlevinizi bir sitede kullanacak herkes tarafından okunabilecek bir JSDoc (not satırları) atanır. 
4. Varsayılan işlev kodu yerine aşağıdaki kodu yapıştırın: 
1export function reset(){ 
2  //Bu işlev genel API'min bir parçasıdır
3  count = 0; 
4  render(); 
5}
5. JSdoc'u güncelleyin. Not: İşlev notlarında aşağıdaki formatı korumalısınız.  
1/** 
2*@function 
3*@description Sayıyı 0'a ayarlar ve render eder. 
4*@returns nothing 
5*/
İpucu
Ayrıca tam tersi şekilde ilerleyebilirsiniz. Üst satırlarda uygun JSdoc ile dışa aktarılan tüm işlevler sağdaki Widget API panelinde görünecektir. Dolayısıyla, Yeni Genel Hizmet Ekle'ye tıklayarak şablonu almak yerine, doğrudan kodunuzu yazabilirsiniz. 

6. Adım | (İsteğe bağlı) Widget'ınızın düzenleme-zamanı davranışını yapılandırın

Yapılandırma sekmesi, site sahiplerine editörde düzenleme yaparken widget'ın ve içindeki ögelerin davranışını belirleme olanağı sağlar.  Yapılandırma sekmesindeki birkaç seçeneği deneyin.
Widget ögeleriniz için görünen ad ayarlayın: 
  1. Azaltma düğmesine tıklayın.
  2. Denetçi inspector panelindeki Öge Adı metnini "Azaltma Düğmem" olarak değiştirin.
Metin ögesinin editörde seçilebilir olmasını engelleyin: 
  1. Sayaç değerini temsil eden metin ögesine tıklayın. 
  2. Denetçi inspector panelinin Davranış bölümündeki Öge seçilebilir onay kutusuna tıklayarak seçimi kaldırın. 

7. Adım | (İsteğe bağlı) Daha fazla hazır tasarım oluşturun

Blocks'taki hazır tasarımlar özelliğini kullanarak aynı widget için çeşitli tasarım ve düzen varyasyonları oluşturabilirsiniz. Başka bir hazır tasarım oluşturmak için: 
  1. Üst menüdeki Tasarım sekmesine tıklayın. 
  2. Uygulama Yapısı app structure. altındaki Tasarım paneline gidin ve Hazır Tasarımlar bölümünde + Hazır Tasarım Ekle'ye tıklayın.
  3. Hazır tasarımınızı yeniden adlandırmak için Diğer Eylemler simgesine  tıklayın. (Açılan listede ayrıca hazır tasarımı çoğaltma ve silme seçenekleri bulunur).
4. Widget'ınızın orta bölümünün rengini değiştirmek gibi görünür değişiklikler yapın.
Farklılıkları görmek için hazır tasarımlar arasında gezinin.
Hazır tasarımlarda tekil ve toplu değişiklikler
Bazı tasarım ve düzen değişikliklerinin yalnızca seçili hazır tasarımı etkilediğini, bazılarının ise tümüne uygulandığını unutmayın. (Daha fazla bilgi edinin). 

8. Adım | Etkinliğinizi site editöründe yakalayın

Önemli
Bu adım Blocks'ta değil, Wix Editor veya Studio Editor'da gerçekleşir. 
Etkinliği uygulamanızdan yakalamak için site editörünüze gidin. Öncelikle "değişme" etkinliği için bir Olay İşleyici kaydetmeniz gerekir:
  1. Widget uygulamanızı yükleyin
  2. Geliştirici Modu'nu etkinleştirin. 
  3. Özellikler ve Olaylar simgesine  tıklayın.
  4. Widget kimliğini değiştirin (ör. "counter1" yapın).
  5. Olay İşleyicileri altından onChange( )'e tıklayın.
  6. Kutudaki counter1_change'e tıklayın.
Şimdi işlevi yazın. Parametre olarak `count` değerini alan ve sizin belirlediğiniz sayıya (buradaki örnekte: 30) ulaştığında sayacı sıfırlayan işleviniz şöyle görünmelidir:
1export function counter1_change({data: count}) { 
2  // This function was added from the Properties & Events panel. To learn more, visit http://wix.to/UcBnC-4 
3  // Add your code for this event here: 
4  if (count > 30) { 
5    $w('#counter1').reset();} 
6}
Sayacınızın nasıl çalıştığını görmek için sitenizi önizleyin veya yayınlayın.

Bu içerik yardımcı oldu mu?

|