Mevcut görünüme bir blok programlı olarak nasıl içe aktarılır?

Aug 17 2020

Bir bloğu ayarlarıyla mevcut görünüme programlı olarak içe aktarmam gerekiyor .

Tüm görünümü nasıl dışa aktaracağımı ve programlı olarak nasıl içe aktaracağımı biliyorum. Ancak tüm görünümü dışa aktarmak ve ardından tüm görünümü içe aktarmak istemiyorum. Benim görüşüme göre 25 blok var, bu yüzden bana aktarmam için 4000 satırlık kod veriyor. Yalnızca yeni bloğumun dışa aktarım kodunu kopyalayabilirim. Ancak kodun yalnızca bu bölümünü mevcut görünüme nasıl aktarabilirim ? Mümkün mü? Herhangi bir çözüm bulamıyorum.

Yanıtlar

1 ShawnConn Aug 18 2020 at 04:42

Kullanıcı arayüzünde belirttiğiniz belirtilen "blok", dahili olarak "ekran" olarak adlandırılır. Görüntüler, displayözellikteki görünüm nesnesinin içinde saklanır (örn. $view->display).

Dışa aktarma kodunun görünümlerine bakarsanız , yöntem tarafından oluşturulan dışa aktarılan blokların (ör /* Display: Block 1 */. /* Display: Block 2 */, Vb.) Modelini görmeniz gerekir views::export().

Her blok (yani ekran) için, $handler = $view->new_display(...)ardından $handler->display...o ekran için ilgili alanları / filtreleri ekleyen birçok satır görmelisiniz .

Tek bir ekranı programlı olarak içe aktarmak için aşağıdaki gibi bir şey yaparsınız:

$view = views_get_view('my_existing_view'); // @TODO: Add my new display handler code $view->save();