Bileşen görünümü sayfasına joomla'nın varsayılan araç çubuğunu ekleme


10

Hem joomla 2.5 hem de 3 için bir mvc bileşeni geliştiriyorum. Birçok bileşende, yönetici tarafında kendi ayarlar sayfasının üstünde yeni, düzenleme, yayınlama, çöp kutusu, seçenekler gibi joomla'nın varsayılan komut düğmelerini eklediklerini gördüm. Örneğin. biri bileşenleri-> web bağlantıları-> bağlantılar sayfası gider, ben sağ üstteki bu komut düğmeleri hakkında konuşuyorum.

Peki bu komut düğmelerini bileşenimin ayarlar sayfasına nasıl eklerim? tıklatıldığında ilgili eylemi yapar ve ilgili görünümü gösterir.Örneğin, "yeni" düğmesini tıklarsam, mvc bileşenimin giriş giriş görünümünü olduğu gibi görüntüler.

Bu yüzden, yönetici tarafında bileşenimin ayarlar sayfasına nasıl tamamen çalıştırılabilir joomla komut düğmeleri ekleyebilirim.

Yanıtlar:


12

En iyi addToolBar()yöntem , yöntemi View sınıfınızda JToolBarHelperoluşturmak ve ardından komut düğmeleri oluşturmak için sınıfı kullanmaktır :

protected function addToolBar()
{
  JToolBarHelper::addNew('yourcontroller.add');
  JToolBarHelper::editList('yourcontroller.edit');
}

Böylece bunlar, belirtilen denetleyicinizde "add" / "edit" görevini / işlevini çağırır. Ardından $this->addToolBar()Görünümünüzün display()yöntemini çağırmanız yeterlidir .

Başvuru Bileşeniniz için bir araç çubuğu oluşturma


Bileşenimde yalnızca bir denetleyici dosyası controller.php var ve içinde function add() { JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); parent::display(); }benim görünüm.html.php dosyasında ben JToolBarHelper :: addNewX ('controller.add') eklediğim bir işlevi var ; daha sonra yeni düğme görünür, ancak tıklandığında görünüm formuma gitmez, bunun yerine URL'ye # ekler
dev-m

controller.taskJToolBarHelper::addNewX();
Atlamaya

Yalnızca JToolBarHelper :: addNewX (); ama işe yaramaz.
dev-m

Sonra controllersdizin altında uygun bir denetleyici oluşturmanız gerekir . Bkz. Arka uç işlemleri ekleme
Dmitry Rekun

5

Düğmeleri görüntüleyen görünümün gönderilecek bir formu olduğundan emin olmanız gerekir. Form adı adminForm olmalıdır. Formda, görev ve dinamik olarak oluşturulan belirteç adlı gizli bir alan da bulunmalıdır. API'yi kafamın üst kısmından hatırlayamıyorum, ancak benzer bir şey JHtml::_('form.token');(biri yanlışsa lütfen bunu düzeltin)

Bu hile yapmak.


Ben daha önce öğrendim sorun yerine adminForm.it form biçimi joomla tür büyük / küçük harf duyarlı gibi görünüyor oldu!
dev-m

Joomla'ya özgü olmaktan çok bir JavaScript şeyidir. Düğmelere tıkladığınızda aslında bir JS form gönderme işlevini tetiklersiniz, bu nedenle form bulunamazsa sessizce başarısız olur.
Mathew Lenning
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.