Mallar için Modx aynı menü öğeleri. Bootstrap zaferleri ile Bagator_vneve MODX menüsü. Yak nalashtuvati dinamik visnovok menü yapısı

Bizim için değil;).

Her şeyi sıfırdan yok edebiliriz. Neyi (ben) bilmek istiyoruz ve seçeneklere hazır mıyız? Bu benim için çok daha uygun. Bunun için, ben en çok vіrnidvvazhayu. Bunun için, eğer kendinizinkini kırabilirseniz, kolayca başka birinin koduna girebilir, afları değiştirebilir, düzeltebilir veya gerekli işlevsellik ile belirli bir şekilde ekleyebilirsiniz. Bu, vreshti-resht, kendin yap - çoğu zaman çok kabul edilebilir!

Daha da ötesi, okuyucunun PHP programlarından daha az haberdar olduğunu annenize bildirin. Teorik olarak, kodu anlamayan kişiler kodu kopyalayabilir ve aşağıda onlar hakkında tüm bunları yapabilir. Bununla birlikte, belki de onlar için Ditto'ya hazır snippet'ler almak daha güzel olurdu, garip koku, ana koda gitmeden yeni bir konfigürasyon için bir dizi olasılık yaratacaktır.

Bir koristuvach için daha güzel olan konu hakkında tartışmak istemiyorum - kardeşler kırılmaya hazır ... Özellikle daha az artı için, diğer seçenekler daha büyüktür. Okuyucunun kendisi okumaya başlaması da söz konusudur.

Otzhe, hadi bizimkine bir bakalım. Sitemizdeki yeni yazılım parçalarının salınımları doldurmaya yetiyor ama düzeltmeniz gerekirse programlanmış...

Üst menü

"Üst menü" terimiyle, sitenin üst kısmındaki listeyi alıyorum (böl. Malunok alt):

Snippet sapının ilk ucunu ikinci bir derste anlatacağım, aşağıda esas olarak en önemli ayrıntılara odaklanacağım.

Ağacımıza göre, site yönetim sisteminde, ön planda olduğumuz gibi statty:

Bebeğin yakını görebilirsiniz, sitenin ağacında bazı belgeleri görebilirsiniz ("Blog", "Yazarlar hakkında", "Fotoğraflar" gibi). Zvorotn_y zv'yazyk"), Yaki ve üst menüye gidin.

Sanırım belgeleri aradan çıkardık, menüde göstermek istemiyorum. Örneğin, "Sitede Poshuk" adlı belgenin ayarlarında büyük rahip "Menüde göster" i temizlediler ve ardından web sitesinde "Olasılık" ve "Kategoriler" adlı iki belge kayboldu. büyük rahip, belge ayarlarında "Publikuvati" "belgesinin ayarlarında temizlendi).

Böyle bir sıralamada önceki istatistiklerde kontrol sistemindeki en üst menü hazırlanmıştı.

Şimdi diy bezposerednomuzun sitedeki sunumuna geçelim.

Sitedeki programların çoğu "", Yani PHP'de okremi shmatki kodu (okremi işlevleri veya programları gibi şeyleri değiştirmek de mümkündür). MODx'te bir üst menü öğesi uygularsanız, gerekli çeşitli içindeki bir şablona özel bir snippet programlayıp ekleyerek yeni bir snippet ayarlamamız gerekir.

Yönetim sistemine gidin, "Kaynaklar" -> "Kaynakları yönet" -> "Snippet'ler" sekmesine ve "Yeni snippet"in gücüne bakın. "Snippet'in adı" alanına pençesiz "TopMenu" yazabilir ve boş snippet'i kodsuz olarak kaydedebilirsiniz. Snippet'imizin adını "Snippet" sekmesine yazın.

Sanırım üst menüdeki şablonumuzda "TOPMENU" öbeğindeki sarmaşıklardık. "Chankі" ve "" віdkryєmo chank sekmesine atlayalım. Parçanın ortasında ayrıca rahatsız edici bir kod var:


  • Blog

  • yazarlar hakkında

  • fotoğraflar

  • Zvorotn_y zv'yazyk

Tsei kodu yakraz menümüzü açıyorum. Parçadaki "TopMenu" snippet'inin birinci ve ikinci dodamo wiki'si hakkında yorum yapalım:


[]

Burada, görünürlüğün zaferlerinden haberdar olacağım, sadece inşaatın zmistini açıklayın []. Sağda, [] veya [! SnippetName!] Her tür şablonunuzda, parçanızda snippet wiki'leriyle çalışabilir ve başka herhangi bir siteye gidebiliriz.

İnşaat [] bir wiklik anlamına geldiğinde keshuvalnogo snippet, böylece dinamik pidprogramlarla wiklik, wiktion sonucu bir kez yapılacak ve ardından sayfa kilitlenirse danny snippet silinecek, sonuç görünmez olacak, böylece tekrarlanan wiki olmayacak snippet'te. Böyle bir sıralamada, web sunucunuzun kaynaklarının ekonomisi (ve kaynağın yüksek görünürlüğü olduğunda fiyat daha da önemlidir).

Ancak durumu anlamak gerekiyor, eğer snippet kodunu tüm saat için yeniden yazmak gerekiyorsa ve sonuçları önbelleğe almak mümkün değil. Bu tür vipadkaların bir tasarımı var [! SnippetName!], Yaka, keshuvannya olmadan snippet snippet'ini bekliyor. Bir benzetme için, wiklik olarak adlandırılacak bir tasarım verilmiştir. önbelleğe alınmamış snippet.

Zaten "TOPMENU" öbeği kaydedildi ve site iptal edildi. Hmm, yak harika değil, üst menü azalıyor. Ale chi iyi bir neden için çok mu harika? Yığındaki menünün HTML koduna yorum yaptıktan sonra, tarayıcıdaki görüntüsünü aldık (bakarak tersine çevirin çıktı kodu HTML yan çizgileri). Ve "TopMenu" snippet'imiz hiçbir şeyi bozmuyor, içinde hiçbir şey kalmadı. Doğru kısa :).

"Snippets" sekmesine geçelim, "TopMenu" snippet'i gösterilecek ve bu olasılığı protesto etmeye çalışacağım ...

Bir koçanı için en basit kodu yazabiliriz (çok basit PHP kodu):

echo "Test ...";
?>

Kaydetmeden önce "İndirgemeyle Devam Et" titreştiriyoruz, bu yüzden snippet'imiz yerine bir kereden fazla değiştirmemiz gerekecek ve snippet'i güvenli bir şekilde yazacağız. Bu sadece sitenin tarafı ve daha fazlası menü üst menüsünde ... aslında, görünüşe göre, ilk bakışta, menünün hafifçe genişletilmiş mavi arka planı dışında herhangi bir değişiklik için bunaltıcı değil. Bu arada, "CRTL + A", sitenin yan tarafında tüm metni görebilirsiniz ve bu arada, menüdeki snippet'imiz "Test Ediliyor ..." metnidir, sadece metni renklendirin arka plana bir renk ile.

Saldırılar için snippet kodu:

Eko " Test yapmak ...";
?>

Şimdi açık, bachimo, pratsyuє ve navit(!) Sorun değil, görevlerimiz için biraz gölgede kaldı, bazı hatalar isteyeceğiz, ancak snippet'imiz kontrol sistemini gösterecek ve "TOPMENU" öbeğinde yorumlanan tam olarak aynı HTML kodunda.

Ve yine, kullanılabilirlik harika değil ...

MODx'teki belgelerin ara bağlantı sisteminin tamamı şu ilke tarafından motive edilir: sıfırdan boş "kız belgelere" ("ebeveyn" -> "çocuklar") intikam almak için bir cilt "babanın belgesi".

MODx MA'nın benzersiz tanımlayıcısı "ID" veritabanındaki deri belge - deri belgeler için site ağacındaki yaylarda olduğu gibi aynı numara.

Konuşmadan önce, benzersiz bir tanımlayıcının birden fazla anlamı olmadığı görülüyor - yönetim sisteminde benzersiz bir şekilde belirli bir belgedir. ve daha fazlası değil! Özellikle tüm gerçeği yaramaz, farklı şekillerde bazı fikir örnekleri var. Onlarda vzagal değil varto canavarları uvagi bakımından zengindir, kural olarak, rakamlar sadece nesiller için belge söylemeye çalışmak için galip gelir.

MODx veritabanı ayrıca dış görünüm belgesi için özel bir "üst" alana sahiptir. Bu alanın değerleri, Batkiv belgesinin benzersiz bir tanımlayıcısını veya belge ağacın köklerinde bulunuyorsa sıfırı belirten bir sayıdır. Böyle bir rütbe ile, belirli bir baba için bir belgenin kendisini є açık bir şekilde belirtmek mümkündür.

Bunun hakkında konuşanları bir kerede görmek için, phpMyAdmin'i açın, veritabanınızı seçin ve kurulum sırasında girdiğiniz önekiniz (PREFIX) site_content, de (PREFIX) tablosunu bilin. "Kimlik" - benzersiz bir tanımlayıcı, "üst" - Batkiv belgesinin numarası, "sayfa başlığı" - sayfanın başlığı ve içi dahil olmak üzere, söylenen belgelerin bulunduğu alanı değiştirebilirsiniz.

Ayrıca, MODx'te belgelerin güvenliğinin sağlanması ve bağlanması ilkesi hakkında bilgi vereceğim, üst menü için gerekli verilerin nasıl düzeltileceğini görebiliriz: veri ağacının veritabanında "ebeveyn" olan tüm belgeleri bilmemiz gerekir. sıfır.

vikoristovuchi SQL hareket Ek güç şu şekilde tanımlanır ("modx_" yerine önekinizi koyarak verileri phpMyAdmin'deki SQL giriş alanına girmeyi deneyebilirsiniz):

SEÇME *
"modx_site_content" DAN
NEREDE "ebeveyn" = 0;

Bununla birlikte, böyle bir güç kaynağı bize kesinlikle tüm belgeleri sitenin kökünden döndürecektir, ancak buna doğru demiyoruz, ancak ana kaynaktan, bu belgelere yalnızca aşağıdaki belgelere belgeler göndermemiz gerekiyor:

  • yayınlanmış durum (veritabanında "yayınlandı" öğesi görüntülenir, yani = 1 belgenin yayınlandığı anlamına gelir ve değer = 0 yayınlanmamış anlamına gelir).
  • görünmez ("silinmiş" alan, de 1 - zorla ve 0 - görülmedi),
  • "Menüde göster" seçeneğine sahip olanlar için ("hidemenu" alanı, de 1 - prikhovuvati ve 0 - menüde göster).

Ayrıca trochies'ları ileri doğru çalıştırırsanız, "menüdeki pozisyon" parametresine göre dokümanı hemen görüntüleyebilirsiniz, sanki menümüzdeki skin pozisyonunu başlatıyormuşsunuz gibi.

Eh, SQL açısından, çalışmak ve şöyle görünmek garip:

SEÇME *
"modx_site_content" DAN
NEREDE "yayınlandı" = 1
VE "üst" = 0
VE "silindi" = 0
VE "gizlemenü" = 0
'menuindex' ASC'YE GÖRE SİPARİŞ;

Teorik olarak, tüm SQL, ortası olmayan bir snippet'te saklanabilir. PHP ile senaryolar, bir kez deriyi açmak, verilenlerin temeli yeniden ve her seferinde bir kez tekrarlanan basit rutin işlemlerin utangaçlığı... Hey, bir dakika, çerçevenin fiyatı değişti, bu delicesine, bizim kontrolümüz Hazır bir dizi yazılım arayüzüne (API, Uygulama Programlama Arayüzü) sahibiz. API - birçok veri işleme sürecini birleştirmek ve yatıştırmak gibi bir dizi yazılım işlevi.

Vikoristovuєmo, snippet'imizde "getDocumentChildren" API'sinin tahmin edilen işlevlerinden biridir. "getDocumentChildren" işlevi, bir sonraki tarihte parametreleri görüntüleyiciden kaldıracaktır:

  • $ Kimlik - Batkiv belgesinin numarası,
  • $ Aktif - yalnızca yayınlanmış veya yayınlanmamış belgeleri seçin (1 veya 0),
  • $ Silindi - yalnızca mevcut veya görünmeyen belgeleri seçin (1 | 0),
  • $ Alanlar - veritabanından seçilen alanlar,
  • $ Nerede - özel zihinler, SQL beslemesinde WHERE'ye dikkat etmek,
  • $ Sıralama - sonuçların sıralandığı alan
  • $ Yön - doğrudan sıralama, ASC veya DESC değerlerini kabul edebilirsiniz, böylece daha azdan büyük bir değer chi nawpaki
  • $ Limit - SQL arzında LIMIT olması için değiştirilebilir arz

$ Sonuçlar = $ modx-> getDocumentChildren (
$ Kimlik = 0,
$ Aktif = 1,
$ Silindi = 0,
$ Nerede = "gizleme = 0",
$ Sıralama = "menüdizin",
$ Dir = "ASC",
$ sınırı
);

Yazdır ("

Foreach ($ sonuç olarak $ anahtarı => $ değeri) (
print_r ($ değeri);
}

Yazdır ("");
?>

Snippet'i kaydedin ve sayfayı güncelleyin. Güncellenen "TopMenu" snippet'inin görüntülenmesi sonucunda, "menuindex" alanının değerlerine göre en küçükten en büyüğe sıralanmış diziler ve değerler listesine göz atın. $ dir = "ASC" - $ dir = "DESC" parametresini hatırlamaya çalışın - dizinin bir sonucu olarak, ilk belge "menuindex" alanının en yüksek değerleriyle görüntülenecektir.

Deneyimli, melodik, sağlam ve sonucu reddeden programcılar için, bir menünün hazırlanmaya hazır olması için hala her şeye ihtiyaç vardır. Hepsi bu. Her neyse, onu herkese satacağım: PHP kodu yeniden yazılacak ve sonuç mümkün olduğunca yakın olacak.

$ Sonuçlar = $ modx-> getDocumentChildren (
$ Kimlik = 0,
$ Aktif = 1,
$ Silindi = 0,
"Id, pagetitle, yayınlandı, menuindex, silindi, hidemenu, menutitle",
$ Nerede = "gizleme = 0",
$ Sıralama = "menüdizin",
$ Dir = "ASC",
$ sınırı
);

$ Öğeler = "";
$ Çıktı = "";

Foreach ($ sonuç olarak $ anahtarı => $ değeri) (
$ Öğeler. = "


  • ". $ Değer [" sayfa başlığı "]."
  • \ N ";
    }

    Eğer ($ öğeler! = "") (
    $ Çıktı = "

      \ N ";
      $ Çıktı. = $ Öğeler;
      $ Çıktı. = "
    \ N ";
    }

    $ çıktısını döndür;

    Kodun detaylarına girmeyeceğiz, bazı olağanüstü PHP kodları var, daha fazlası değil. Size yorumlarda sormak istiyorum, ama daha güzeli - yayın kurulunun genel forumlarında.

    Yeni snippet kodunu kaydedin ve yeniden yazın. Sonuç olarak, düzeltmek isteyenler için kodların uygulanması pratik olarak pratiktir:

    Yapısı MODx ağacındaki belgelerin yapısını tekrar edecek olan verileri otomatik olarak oluşturmak için. Yeniden düşünmek için sitenin köküne bir test belgesi koymayı deneyin ve tarafı güncelleyin.

    Ancak, hepsi değil. Bagato zaten melodik bir şekilde hatırlandı, scho posilannya є, ale posilan aptal ... Paradoks :). Ben uvaz'da diyorum ki menü vivodat'ta ne isim veriyorsunuz belgeleri protesto etmek işe yaramıyor. Bu yüzden mantıklı, bazıları kodda kaldı, "#" gerçek soyluları değiştirmeye çalışın.

    bir tarafını bilmen gerek toz tarçın MODx: sitenin herhangi bir iç tarafının adresleri ek saldırgan yapı için tanınabilir [~ id ~], de id benzersiz bir sayıdır gerekli belge, Tobto aynı numara, site ağacındaki cilt belgesinin adıyla siparişin yaylarındaki talimatlar. Böyle bir sıralamada, / Ankara / vmіstі storinki şablonuna böyle bir yapı [~ 1 ~] ekledikten sonra,

      • dizin - belgenin diğer adı olan "index"i girdiğinizde "Blog" belgesinin diğer adı veya
      • 1.html, "Blog" belgesi için "Ben koristuvach" alanına hiçbir şey girmedim
    • Arkadaşlar etkinleştirilirse, index.php metni daha mı önemlidir? kimlik = 1

    Yeniden yazılabilir snippet, muzaffer bilgi:

    $ Sonuçlar = $ modx-> getDocumentChildren (
    $ Kimlik = 0,
    $ Aktif = 1,
    $ Silindi = 0,
    "Id, pagetitle, yayınlandı, menuindex, silindi, hidemenu, menutitle",
    $ Nerede = "gizleme = 0",
    $ Sıralama = "menüdizin",
    $ Dir = "ASC",
    $ sınırı
    );

    $ Öğeler = "";
    $ Çıktı = "";

    Foreach ($ sonuç olarak $ anahtarı => $ değeri) (
    $ Öğeler. = "


  • ". $ Değer [" sayfa başlığı "]."
  • \ N ";
    }

    Eğer ($ öğeler! = "") (
    $ Çıktı = "

      \ N ";
      $ Çıktı. = $ Öğeler;
      $ Çıktı. = "
    \ N ";
    }

    $ çıktısını döndür;

    Bu sıralamada # değerini [~ ". $ Değeri [" id "]." olarak değiştirdik. ~], Aslında, bir dış görünüm belgesi için, dizide tüm yapının [~ id ~] benzersiz kimliği sağlanır. Sonuç olarak, mükemmel olanaklara sahip bir menüyü kabul edeceğiz.

    Pratik olarak ideale ulaştık ... Ancak, şimdi bağlantı kurmak gerektiğinden bir ayrıntı eksik: Bir karar vermiş olan tasarımcı, arka planın yardımıyla suçlu olmaktan suçlu olma olasılığı daha yüksektir. ve olayın anılarının renkleri.

    Sizden rica edeyim, MODx CMS'nin sırlarını biliyorum :). API, akış tarafının benzersiz tanımlayıcısının değerini döndüren $ modx-> documentIdentifier işlevini içerir. Menüdeki aktif taraf ve vizyon için aşağıdakilere aşina olacağız:

    $ Sonuçlar = $ modx-> getDocumentChildren (
    $ Kimlik = 0,
    $ Aktif = 1,
    $ Silindi = 0,
    "Id, pagetitle, yayınlandı, menuindex, silindi, hidemenu, menutitle",
    $ Nerede = "gizleme = 0",
    $ Sıralama = "menüdizin",
    $ Dir = "ASC",
    $ sınırı
    );

    $ Cid = $ modx-> documentIdentifier;

    $ Öğeler = "";
    $ Çıktı = "";

    Foreach ($ sonuç olarak $ anahtarı => $ değeri) (
    if ($ değer ["id"] == $ cid) (
    $ Aktif = "id = \" aktif \ "";
    }
    Başka (
    $ Aktif = "";
    }
    $ Öğeler. = "
    ". $ Değer [" sayfa başlığı "]."
    \ N ";
    }

    Eğer ($ öğeler! = "") (
    $ Çıktı = "

      \ N ";
      $ Çıktı. = $ Öğeler;
      $ Çıktı. = "
    \ N ";
    }

    $ çıktısını döndür;

    Peki yak, buldun mu? Gitti!

    Ale V hepsini nasıl bitireceğini düşünmedi mi? Her şeyden önce. Çıtayı biz belirledik, MODx'in olanaklarını maksimuma çıkarmak istiyoruz. Ve bir küçük ayrıntı daha, kaybettiler.

    GetDocumentChildren ek işlevi tarafından desteklenecek alanların adlarını saygıyla merak ediyoruz: "id, pagetitle, yayınlanmış, menuindex, silinmiş, hidemenu, menutitle". Bunların arasında є da bir alan, yak "menutitle" var. Yak vipliv ismini bu alanda alabilirsiniz. menü başlığı... Kontrol sistemlerinde ayrıca bir "Menü öğesi" giriş alanı vardır. Tüm alan bağlayıcı değildir. Ancak mantık şu ki, alan hafızaya alınır alınmaz, metni menüdeki sıraya göre kendiniz değiştirmekten suçluyuz. Bu çok acımasız:

    /********************************
    İsim: ÜstMenü
    Meta: Üst Menü Visnovok
    Proje: Demosite MODx
    ********************************/

    $ Sonuçlar = $ modx-> getDocumentChildren (
    $ Id = 0, // babanın belgesinin kimliği
    $ Etkin = 1, // Yalnızca yayınlanan belgeleri titret
    $ Silindi = 0, // Yalnızca görünmeyen belgeleri titretiyor
    "Id, sayfa başlığı, yayınlandı, menuindex, silindi, hidemenu, menutitle", // Veritabanından titreşen alanlar
    $ Where = "hidemenu = 0", // Yalnızca menüde yayınlanması gereken belgeler için titret
    $ Sort = "menuindex", // menuindex alanına göre belge sıralama
    $ Dir = "ASC", // Büyüterek belge sıralama
    $ Limit = "" // Girişim ayarlanamıyor (SQL beslemesinde LIMIT parametresi)
    );

    $ Cid = $ modx-> documentIdentifier; // akış tarafının kimliğini kabul et

    $ Öğeler = "";
    $ Çıktı = "";

    Foreach ($ sonuç olarak $ anahtarı => $ değeri) (
    if ($ değer ["id"] == $ cid) (
    $ Aktif = "id = \" aktif \ "";
    }
    Başka (
    $ Aktif = "";
    }
    if ($ value ["menutitle"]! = "") (
    $ Başlık = $ değer ["menutitle"];
    }
    Başka (
    $ Başlık = $ değer ["sayfa başlığı"];
    }
    $ Öğeler. = "
    ". $ Başlık."
    \ N "; // menü öğelerini seç
    }

    // Uzakta yalnız kalmak istediğimi bilmek istiyorum menü seçeneği,
    // menünün HTML kodunu aç
    if ($ öğeler! = "") (
    $ Çıktı = "

      \ N ";
      $ Çıktı. = $ Öğeler;
      $ Çıktı. = "
    \ N ";
    }

    // Robotik snippet'in sonucunu döndür
    $ çıktısını döndür;

    Şimdi herhangi bir belgenin "Menü Öğesi" giriş alanına metni girmeye çalışın ... Müthiş!

    P.S. şu an için vikoristovuyut bir ve aynı şablon için yana doğru. Genel olarak, şablonlar aslında dinamik olarak sadece üst menüde gösterildi, tüm detaylar önemsiz kaldı. Panik olmadan bir tsim piznishe ve poki ile meşgul olacağız;).

    visnovok:

    Şu andan itibaren, başka bir makale mantıklı sonucuna geldi.

    Pid çantaları navchannya:

    • MODx'te tanıtılan belgelerin tanınan alanlarına kayıt olmaya çalıştık ve veri tabanındaki bilgi koleksiyonuna baktık;
    • MODx: [], [! SnippetName!], [~ Kimlik ~];
    • Özel bir API'nin tezahürünü öğrendiniz ve bazı API işlevleriyle daha hızlı hale geldiniz;
    • І Qih bilgisine dayanarak MODx'te yeni bir snippet oluşturduk!

    Menü oluşturma snippet'i. Ayrıca Wayfinder'ı değiştirebilir ve daha fazla parametre kullanmanıza izin verebilirsiniz.

    Örneğin, tüm menülerde doğrudan babaların çıkartmalarından yapılacak, aynı anda hem de onların yardımıyla görüntülenecektir.

    Yüz yıllık hız, ilk piyasaya sürüldüğünde bile, Wayfinder çok fazla harekete geçmedi, yetkin bir keshuvanny.

    parametreler

    pdoMenu'nun önerileri için pdoTools parametrelerini ve eylemlerini kabul ediyoruz:

    İsim ikameler için betimlemek
    & ebeveynler Akış kaynağı Şaka sonuçları için batkiv listesi, kimin aracılığıyla. nasıl koyulur & Ebeveynler = "0"- vibratör değiştirilemez. Ikshcho id baba tire, kazanmak ve ilk siteden onarmak için vibratörden açın.
    & seviye 0 (geçmeli) Рівень menü oluşturulur.
    & Kaynaklar Sonuçlarda vivedennya için kaynakların listesi, kimin aracılığıyla. Kimlik kaynağı kısa çizgiden onarılırsa, tüm kaynak vibratörden açılır.
    & şablonlar Sonuçları kimin aracılığıyla filtrelemek için şablonların listesi. Kimlik şablonu kısa çizgiden tamir edildiğinden, ondan gelen kaynak vibratörden açılır.
    & nerede dizi ek parametreler vibratörler, JSON'daki kodlar.
    & ekranBaşlat 0 Menüdeki koçanı üniversitelerinin görüntüsünü açın. Birden fazla "ebeveyn" sipariş verebilir.
    & bağlam Kaynakların bağlamına göre Vibirka obmezhennya.
    & gösterGizli 0 Menüde kaynakları göster, prikhovani.
    & gösterYayınlanmamış 0 Yayınlanmamış kaynakları göster.
    & önizlemeYayınlanmamış 0 Çağrılan tse'deki koristuvach є gibi yayınlanmamış kaynakların görüntülenmesini açın.
    & gizleAlt Menüler 0 Etkin olmayan menü öğelerini göster.
    & Seçme Titreşim için alanların listesi, kimin aracılığıyla. Bir dizi içeren bir JSON satırı ekleyebilirsiniz, örneğin & Select = `(" modResource ":" id, pagetitle, content ")`
    & göre sırala menü indeksi Bir parametrede değerlerin olduğu bir TV parametresi de dahil olmak üzere sıralama için bir kaynak alanı olup olmadığı & dahilTV'ler, Örneğin & Sortby = `(" tvname ":" ASC "," sayfa başlığı ":" DESC ")`... Bir dizi alan içeren bir JSON satırı ekleyebilirsiniz. vipadkova çeşidi vkazhit için & Sıralama = `RAND ()`
    & sıralama ASC Doğrudan sortuvannya: büyümek için spadannyam için. Çok fazla parametre & sortby ve & sortdir boşsa, sıralama aşağıdaki kaynaklara göre olacaktır. & Kaynaklar.
    & sınır 0 Daha az titreşimli sonuç.
    & telafi etmek 0 Her kulak için atlama sonuçları. Vikoristovuvati aynı zamanda açıkça demek gerekir & sınır
    & kontrol İzinleri Örneğin, vivedenny kaynaklarıyla bir corystuvach'ın dönüştürülmesine izin verildiğine dikkat edilmelidir. & CheckPermissions = 'liste'.
    & sayınÇocuklar 0 Dış görünüm kategorisindeki ve yer tutucudaki [[+ çocuklar]] bir dizi yardımcı kaynağın tam tanımı. Veritabanına, bağlantılar için olana ek güç almak.
    & toYer tutucu Snippet, boş olmasa bile ekrandaki verilerin yerini aldığı için tüm verileri yer tutucuya kaydeder.
    & plÖnek wf. Yer tutucuları görüntülemek için önek.
    & gösterGünlüğü 0 Snippet robotu hakkında ek bilgileri göster. Yalnızca "mgr" bağlamında yetkilendirme için.
    & hızlı mod 0 Hızlı yığın işleme modu. Tüm bozuk olmayan etiketler (umovi, snipet vb.) güncellenecektir.
    & önbellek 0 Robotik bir snippet'in Keshuvannya sonuçları.
    & Önbellek süresi 3600 Saniye cinsinden önbellekle ilgili saat.
    & düzeni -1 modX :: makeUrl() öğesine iletilen url formülasyon şeması, mevcut seçenekler gereklidir. Özel bir uri türü, işlevi çalıştırmadan kaynağa uri değerini verir.
    & kullanWeblinkUrl 1 Kaynak oluştur
    & rowIdPrefix Tanımlayıcıyı öbeğe eklemek için önek id = "".
    & buradaId oluşturulan menü için akış kaynağının kimliği. Yalnızca komut dosyasının kendisi geçerli değilse, örneğin menü snippet'in öbeğinden eklendiğinde eklemek gerekir.
    & dahilTV'ler Titreşim için TB parametrelerinin listesi, kimin aracılığıyla. bu arada & IncludeTV'ler = 'eylem, zaman' yer tutucu [[+ eylem]] ve [+ zaman]] verin.
    & hazır TV'ler Ek yollar oluşturmanız gereken dzherel medyasından dosyalar içeren TB parametrelerinin listesi. nasıl kalkılır & TV'leri Hazırla = "1", Tüm TV'ler için hazırlanacak & dahilTV'ler.
    & prosesTV'ler Sistem yöneticisinde işlenmesi ve güncellenmesi gereken TB parametrelerinin listesi. nasıl kalkılır & ProcessTV'ler = "1", Tüm TV'ler seçilecek & dahilTV'ler... Robota güveniyorum.
    & tvÖneki TV parametreleri için ön ek.

    şablon parametreleri

    Parametreler, menü oluşturma için şablonlar olan parçaları ayarlar.

    İsim betimlemek
    & tplDış Tüm menü bloğu için parça. Katkılar için: @INLINE
      [[+ Paketleyici]]
    & tpl Toplu ödeme menü öğesi. Belirtilmezse kaynağı doldurmak yerine ekranda açılacaktır. Katkılar için: @INLINE
  • [[+ Menübaşlığı]] [[+ sarmalayıcı]]
  • & tplburada Akış menüsü öğesi için toplu ödeme.
    & tplBaşlat Parça temizleme kök noktası & ekranBaşlat... Katkılar için: @INLINE

    [[+ Menü Başlığı]]

    [[+ Paketleyici]]
    & tplÜst Satır Babanın sitelere kaydının, head & tplCategoryFolder altına girmeyen kısmı. Örneğin: @INLINE
    & tplParentRowHere Sitelerden intikam almanın gerekli olduğu akış belgesinin yürütülmesinin parçası.
    & tplParentRowActive Aktif hіltsі menüsündeki sitelerle batkіv kaydı.
    & tplKategoriKlasörü Verilen kategorinin özel bir parçası. Kategori vvazhaєya babanın siteleri, bunun için link_attributes alanında boş bir şablon veya rel = "category" var.
    & tplİç Chunk, menü öğelerinin tüm bloğu için verilir. Yaksho boş - bude vikoristovuvati & tplDış... Örneğin: @INLINE
    & tplInnerSatır Menü öğesi için kayıt parçası. Örneğin: @INLINE
    & tplInnerBurada Etkin menü öğesinin yığın kaydı.

    CSS Sınıfı Parametreleri

    Bu parametreler, diğer menü öğeleri için [[+ sınıf adları]] ve [[+ sınıflar]] yer tutucularının değerlerini ayarlar. Yer tutucu [[+ sınıf adları]] Niteliği olmayan yalnızca sınıfın adını göster sınıf = "", Yer tutucunun görünümünde [[+ sınıflar]].

    giymek

    Bir ruven'de sitenin kökünden özel bir menü öğesi:

    []

    Şarkı söyleyen babaların zaferleri ve koristuvach'ın izinlerinin tersine çevrilmesi ile Visnovok:

    []

    Kök noktalarını gösteren menüyü doğrudan iki batkiv'den görüntüleme:

    []

    Bir dizi katkı ile iki kaynak kaynağından Visnovok:

    [] `& TplParentRow =` @ INLINE

  • [[+ Menü Başlığı]] ([[+ çocuklar]])
  • [[+ Wrapper]] `& countChildren =` 1`]]

    Seni bir okuyucu olarak görüyorum. Sonunda içeriği olan Troja sitesini hatırlattı (), şimdi zamanı geldi her şeyi menüye ekle, Shcheb koristuvachi onlara geçebilir.

    dinamik olarak ortaya çıkmak MODX'teki menü snippet'in yardımının arkasında olacağız PdoMenu s paketi pdoAraçlar... Okumaya başlamadan önce, temel belgelere bir göz atın.

    PdoMenu Belgeleri

    parametreler

    şablon parametreleri

    CSS Sınıfı Parametreleri

    resmi popo


    Resmi belgeleri buradan okuyabilirsiniz. Ve bir kerede menünün çoğu wiklik türünü alıyoruz.

    wiklik PdoMenu

    seçenek 1... Statik bir menüde wiklichemo snippet pdoMenü, Ağaçtaki tüm kaynaklar için, katkı üzerine " elementler"Zavallı bir şekilde rozgornіt gіlku pdoAraçlar, Dalі ittir pdoMenü Fare düğmesi yardımıyla (düğmeyi kırp) ve snippet'i farede sürükleyin, menüyü silmek istiyorsanız, sonunda gerekli parametreleri ve bilgileri kaydedeceksiniz " kendine dikkat et«.

    seçenek 2... Sadece wiklik yazısını teslim edeceğim.

    popo tipleri

    Tek satırlık menü seçin

    Örneğin, yaklaşan html düzenine sahip özel bir menümüz var.

    Viysov ekseni wiklik menüsünden böyle bir kod:

    • & Ebeveynler = `0` - babaların listesi (vipadku'mda sadece bir tarafını yaşayacağım için bir vibirka almayacağım);
    • & Seviye = `1` - katkının değeri (bu vypadku її aptalında);
    • & Kaynaklar = '2,3,4,5' - menüye eklenmesi gereken kaynakların listesi;
    • & FirstClass = `0` - ilk menü öğesi için sınıf (yakogo değil);
    • & LastClass = `0` - menü öğesinin sınıfı (etiketlenmemiş);
    • & OuterClass = "top-menu" - menü kırpıntılarının sınıfı (ul ile sunulur);
    • & HereClass = `current-menu-item` - aktif menü öğesinin sınıfı (li'ye gönderilir);
    • & RowClass = `menu-item` - menünün bir satırının sınıfı (li'ye gönderilir).

    Dvorivneve özel önyükleme menüleri

    statik HTML Kodu viglyadaє bunun gibi:

    Yogo vivedennya'nın kodu şöyle olacaktır:

    Bu yüzden, saldırı seviyesinde, size önyüklemeye dayalı (ve sessiz amaçlar için, özü kavramadan) birkaç ek menü seçeneği sunacağım. Pekala, bu kolay.

    Vilyad'ın ilk bakıştaє her şey düzgün, öyle değil, raporları, belgeleri okuyun, yorumlarda beslenmeyi sorun, size yardımcı olacağım.

    Öğelerin geçiş sırasını hatırlıyorsanız veya şarkıcı olarak hareketlerini kavradıysanız MODX keruvannya panelinin üst menüsünü değiştirebilirsiniz. En son veya kişisel etkinliklere uygun gördüğünüz şekilde yeni öğeler de ekleyebilirsiniz. Üst menüyü değiştirmek için kullanabileceğiniz, anlaşılması kolay birkaç yöntem vardır ve ardından pratik araçları kullanabilirsiniz.

    Üst Menü Konseptleri

    Revolution'daki menü sistemi tamamen yeni bir mimariye sahip. Öğe adlarının vinyet arkasında Evrim menü sisteminde çok daha özel bir şey yok. Menüyü yapılandırmak zorunlu değildir yeni sistem menü, ale tse rasumіnnya robotlarda ek yardım, özellikle kontrol panelinin bir Kişisel tarafı oluşturmayı seçerseniz, erişim menüden görüntülenecektir.

    Üst menü ağacı

    Üst menünün bölümüne gidin Sistem -> Seçenekler ve menü sisteminin temellerini değiştirin. Sağ elini kullanan ağaç (Üst menü) Raznі razdіli'yi açar açmaz, üst menünün kopyasının nasıl doğru olduğunu görün. elementler Verkhnyaya Rivnya- kontrol panelinin üst kısmında gördükleriniz. Yemek için bir sürü kap var. Kontrol panelindeki ağaç görünümünde cilt desteği. Sayfaya acele ederseniz, Keruvannya panelinde bir şeyler yapabilirsiniz (örneğin, sitenin önbelleğini temizlemek veya erişim kontrol paneline gitmek). Aslında üst menüdeki itemler elmas olabilir ama üst menüdeki itemler böyle bir rankta ayarlanmamıştır.

    Bunu görenler, menü maddelerine koşarsanız, aslında buradan başlar. Yak vi pachite, menü öğesine tıklandığında görüntülenenleri kolayca yeniden atayabilir ve ayrıca menü listesindeki öğeleri değiştirebilir, yakalayabilir veya görüntüleyebilirsiniz. Ayrıca menüye ve üzerlerine tıkladığınızda kullanabileceğiniz ödevlere öğeler ekleyebilirsiniz. Aslında, menünün mevcut ve gelişimini değiştirmek için kontrol paneli için yeni bir menü sistemi kurabilirsiniz. MODX çekirdeğini değiştirmeden her şey yapılabilir.

    Menünün fiziksel görüntüsü de buradan ayarlanabilir. Zbіg değil, ancak üst menüde koku kavrulduğundan menünün tüm öğeleri aynı sırada. Siz ağaçta değiştirdikçe, üst menü, yanların üzerine yazıldığında da değişebilir.

    Kontrol panelinin görülmesi kolaydır, ancak dikkatli olun, değiştirmeyin - bir bakışta göndermek için "Skasuvati" düğmesine basın.

    roztashovany sağ elini kullanan ağaçta (Üst menü) tıklayın sağ düğme"Site" öğesinde ve açılır menüden "Redaguvati" öğesini seçin. Bir iletişim kutusunda görün Menüyü başlatan alanlarla düzenleme:

    ben- ben menü öğesiyim

    betimlemek- menü öğesinin açıklaması

    Diya- ziyaretçi olacak PHP dosyasının özellikleri

    rozet - dodatkovy simgesi menü öğesi için

    parametreler- URL için isteğe bağlı $ _GET parametreleri

    kırmak- Bude vikonaniy gibi JS kodu

    Erişim hakları- gerekli erişim haklarının koma listesini paylaşma

    Açıkçası, "Site" öğesinde daha fazla alan var. Ayrıca, yenisinde bulunan bir pidmіnyu için bir kaptır. Üst menüde "Site" menüsünü görebilirsiniz, göremezsiniz.

    Bakalım çalınacak menüyü merak edelim. Diyaloğu tamamlamak için "Skasuvati" üzerinde değil, sağ panelin ağacının "Site" bölümünü açın, "Siteyi Onevit" menüsünde sağ düğmeyi tıklayın ve "Redaguvati" yi titretin.

    Açıkçası, diyalog penceresinde є "Obroblyuvach" ve "Erişim hakları" alanları yerine. "Erişim hakları" alanı, boş_önbellek erişim hakları mevcut olmadığı sürece, kullanıcının menü öğesini ziyaret edemeyeceğini söyler. "obrobnik" alanında, bir öğe seçerseniz görüntülenecek olan gerçek bir JS kodu vardır. Eylemin vikonuyutsya olduğu tüm noktalar, diy olarak "Diya" veya "Obroblyuvach" alanlarında ezberlenebilir. "obrobnik" alanı belleğe alınırsa, kod görüntülenir, tüm alandaki rozetler ve "Dia" alanı yok sayılır. "Obroblyuvach" alanı ezberlenmemişse, "Diya" alanından vikonutsya diya. Bir gösterge olarak "Diya" alanını dosya denetleyicisine veya "Diy" ağacındaki dosyalardan birine, roztashovany kötü (görüntülenen dosya denetleyicilerinde belirtmek mümkün olduğu gibi) değiştirin. "Skasuwati" düğmesine basarak diyaloğu kapatın.

    Aşağıdan menü öğesi seçeneğine hayran kalalım. Packet Manager Batcher eklentileri aracılığıyla yeniden ekleyin ve yeniden yükleyin, sayfayı yeniden numaralandırın ve tekrar bölüme gidin Sistem -> Seçenekler... Sağ ağaçtaki "Bileşenler" dağıtımında (gerekirse açın) Batcher'daki sağ düğmeyle ve "Redaguvati" yi seçin. Şimdi "Diya, ancak" Obroblyuvach ": yığınlayıcı - dizin alanı. " Skasuvati " düğmesine basarak düzenleme diyaloğunu bitirin.

    Sol panel, üst seviyenin tüm noktalarına sahiptir - isimlerin enginliği. "Kendin Yap" ağacının yanındaki "toplayıcı" adının alanını açın. Biz suçluyuz poachiti diyu endeksi. Tsia diya, yak üzerinde Sağ panelde olduğu gibi Batcher menüsünü ayarlayacağım.

    "Üst Menü" ağacında nasıl gezinebileceğinizi görmek kolaydır. "Üst Menü" ağacındaki öğeler geçersiz kılınabilir. Ağaçtaki menü öğesini değiştirir değiştirmez, asıl üst menüyü de değiştirebilirsiniz, değiştirmek isterseniz kontrol paneli tarafını yeniden kurmanız gerekecektir.

    Üst menüye bir öğe eklemek için, örneğin ağaç alanında sağ düğmeye basabilir ve "Menü öğesi ekle" seçeneğini titretebilirsiniz. Üst seviyenin menüsüne bir öğe eklemek için "Öğe ekle" düğmesine de basabilirsiniz.

    Menü maddelerine sağ tuş ile tıklanarak "Vidalite" maddesi seçilebilir. Bir menü öğesini gördüğünüz anda, ilk yarısı yerine onun bir yardımcı öğe olup olmadığı da görülecektir. Qia diya є nevorotnim.

    Bir menü öğesini gerçekten silmeden düzenlemek istiyorsanız. kısa versiyon diy), "Erişim hakları" alanına yerleştirerek yakalayabilirsiniz. Hala bu alanda olmak zorunda olduğunuz sürece, birisine yeni bir erişim hakkı verin. Erişim hakkı ile bırakın, erişim hakkına sahip olacak, kimsenin sahip olmadığı gibi menü öğesi görünmez olacaktır. Verilen erişim hakkını görerek tekrar görünür hale getirebilirsiniz. Şarkı söyleyen menü öğesini şarkı söyleyen koristuvacham'a (hepsi olmasa da) göstermek istiyorsanız, sadece koristuvach'a erişim hakkının işaretlerini ortaya çıkarmak için yeni politikanın şablonunu açın, yeni politikayı açacağım. zastosovuatsya bağlam listesini qih koristuvacham'a yazmak ve qiu politikasını uygulamak için tüm şablonda kullanın.

    Üst menünün başlığını değiştirmek için açıklamasını belirtin. Ardından bölüm menüsüne gidin Sistem-> Kelime yönetimi. Viber "çekirdek" ve "üst menü" temasının alanı. Birden fazla taraftan intikam almak için göreceğimiz liste, böylece diğer tarafa gidebilirsiniz, böylece "üst menü" konusunu bilirsiniz. Menünün gerekli öğesi için alternatif satırı bilin, en önemli ve önemli değişikliklerde iki tıklama. Değişiklikler olsun, burayı ziyaret ederken, MODX'in güncellenmiş versiyonu ve üçüncü taraf geliştirmenin herhangi bir bileşeninin yenilenmesi için günler ve yıllar olacaktır.

    Bu yöntemin açıklamaları yalnızca çekirdeğe menü öğeleri eklemek için kullanılacaktır. Üçüncü şahıs satışları menüsündeki öğeler için, adların farklı boşluklarını titretmek gerekir. Örneğin, Batcher için menü öğesini değiştirmek istiyorsanız, yığınlayıcı alanı için kelime yönetimi satırını değiştirmeniz gerekecektir.

    Ağaç "Dії"

    Moladan önce arkanı dön Sistem -> Seçenekler, Yaksho vi z nyyli. Sol panelde "indeks"e tıklayın "toplayıcı"dan daha düşüktür ve Redaguvati listesinden seçin. Yak üzerinde Nagadaєmo, scho tsya diya, sağ panelde Batcher menü öğesini koyacaktır. Dizini tüm proje için denetleyici olarak kullanabilirsiniz ve boşluk, yığınlayıcının adıdır. Bir kerede dağıtıma dönüşeceğiz Sistem-> Alan Adı, Mi poachimo, yığınlayıcının genişliği için bir yol olacak:

    (Core_path) bileşenleri / yığınlayıcı

    Denetleyiciye bir bağlantı ile, bu menü öğesine tıklamak ister gibi MODX, aşağıdakine benzer yeni bir yol açacaktır:

    path_space_name + controller_name + .php

    Başka bir deyişle, vazhayuchi, çekirdek değişiklikler için bakanlıkta bulunur, MODX adres için dosya denetleyicisine vikonanny:

    çekirdek / bileşenler / toplu işleyici / index.php

    Dosyanın tamamını merak ediyorsanız, o zaman sadece index.php dosyasını core / component / batcher / controllers kataloğuna koymanız yeterlidir, bu Batcher sınıfını ekleyecek ve kontrol panelinde Batcher'ı başlatacaktır. Doğru kontrol panellerini açarsak, "Bileşenler" bölümündeki yeni bir menü öğesi kararsız olacaktır.

    Sağ paneldeki birçok menü öğesinin sol panelde görünme özgürlüğü pek yoktur. Dosya denetleyicilerine giden yolların MODX veritabanına kaydedildiği ve redaksiyondan sorumlu olmadığı dikkate alınmalıdır (katlamanın doğruluğunu dikkate alın). Gidilecek yol modx_actions tablolarında saklanır. Skin dia, kimlik (ID) ile yapılabilir ve kontrolöre gidebilir. Diya ayrıca, denetleyici etkinse ve diğer alanların sayısıysa, bağlamsal para yatırma yardımı için ek bir URL'ye sahiptir. "Kendin Yap" panelinde gösterilen oyunlar için ID'yi el kitabının kollarına koyabilirsiniz.

    Keruvannya panelindeki herhangi bir olay için ağaca bir menü öğesinin eklenmesi, böyle bir sıralamada, menü öğesinin sağ panelde açılması ve menü öğesinin sağ panelde açılması yoluyla mümkündür. sağ panel (kontrolör) veya örneğin ek sunumu. Kontrolör zaten orada olduğundan, onu "Kendin Yap" menüsünde titretebilirsin. Aptalsa, denetleyiciye sipariş edildiği gibi sol panelde ayarlamaktan suçlusunuz. Örneğin, yeni bir koristuvach açmak için bir menü öğesi yoktur, bir dosya denetleyicisi için biraz, bu öğe kolayca üst menüye eklenebilir. Genel olarak, sağ el menü öğesini seçmek ve "çekirdek" adı için güvenlik / kullanıcı / oluşturma seçeneğini ayarlamak gerekir. Yak vi rosumієte, üst menünün öğesi, yaky obrobnik, ala değil ma vidpovidnogo diy ("Kendin Yap" ağacındaki "onoviti sitesi" menü öğesine benzer). "Diya" maddesine ihtiyacın yoktu, bu yüzden onun kodunu dolandırabilirsin. Kontrolörün başlatılmasını değiştirmek için MODX, kodu onay kutusunda görüntüler.

    Menüdeki ipuçlarının işlenmesi

    Lviv panelindeki Name Batcher'ın genişliğine Endekse çok saygı duyuyorum. Harika bir kimlik. Üst menü öğesine acele ederseniz, MODX kimliği reddedecektir. Ardından, kontrol panelinde tüm tarafın URL'si oluşturulur. Web sitemizde ID 79'dur. Üst menüde Batcher'a saldırı varsa, o zaman tarayıcının adres satırındadır:

    http://site/yönetici/index.php? bir = 79

    Batcher menü öğesine acele ederseniz, benzer bir URL'den suçlu olursunuz, bu durumda Batcher dizininizin kimliğini girersiniz. Örnekleyiciye bir URL verilmişse, bu menü nesnesinin veritabanındaki görünürlüğünü, ziyaretçinin ziyaretçi için erişim haklarının kullanılabilirliğini değiştireceğim, ziyaretçinin dosyayı kontrol etmesine yardımcı olmak için ziyaretçinin URL'sini ayarlayacağım ).

    Üst menüden robot

    Şimdi, MODX'in bunlara bağlı menü öğelerini nasıl değiştirdiğini bildiğimize göre, kontrol panelindeki asıl üst menüyü değiştirelim. Bunu kolaylaştırmak için başarılı yöntemler ve onlar için robotun iç mekanizmaları ve MODX menü / diyu sistemi hakkında akıllı olmanıza gerek yok.

    Burada olun, korumalar, oh, tüm değişiklikleriniz daha önce olduğu gibi ve site güncellendiğinde ve güncellenmediğinde olacaktır. kolay yolöğeler için menüye dönün. Pek çok şey, burada olacağımız gibi, kolay kurt adamlar, değişiklik yapmadan önce menünün birincil yapısını yazarsanız. Oynamak için bir serpinti ile daha zekice MODX kurulumu, Yaka tüm site için galip gelmeyecektir.

    Menüdeki öğelerin sırasını değiştirin

    Menünüzdeki herhangi bir öğe için kontrol panelindeki üst menüdeki öğelerin sırasını değiştirebilirsiniz. bölüme git Sistem-> Діїі Sağdaki menü ağacını açın ("Üst Menü" başlığı altında).

    Yak mi z'yasuvali daha önce, ağaç, kontrol panelinin üst menüsünün temelidir. Üst menüdeki öğelerin geçme sırasını çekerek değiştirebilirsiniz. Sadece bir menü öğesine göz atın, neyi değiştirmek isterseniz, Misha düğmesine sıkıca basın, bunu, ihtiyacınız olan yerde değiştirin ve Misha düğmesini bırakın. Bu sıralama ile örneğin üst menüdeki öğelerin sırasını değiştirebilirsiniz. Öğeleri bir sayfadan aşağıya taşıyabilirsiniz. Üst menüdeki öğeleri, üst menü klasörüne sürükleyerek de taşıyabilirsiniz. Değişiklikleri düzeltmek için kontrol paneli tarafını yeniden etkinleştirmeniz gerekir.

    Ek menü öğeleri

    Yeni bir menü öğesi eklemek kolaydır. bölüme git Sistem-> Діїі Sağdaki menü ağacını açın ("Üst Menü" başlığı altında). Menünün bir bölümünü Viber, bir öğe eklemek ve "Menü ekle" düğmesini tıklayana kadar (veya sağ düğmeyi tıklayın ve "Bir menü öğesi ekle"yi titreterek) tıklayın. Gerekli menü öğesini girin ve "Kaydet" düğmesine basın. "Bileşenler" menüsüne yeni öğeler girmek için lütfen MODX'i arayın veya gerektiğinde yeni öğeler ekleyebilirsiniz. Menü öğesini görmek için yeni üzerinde sağ tuşa basabilir ve "Menü öğesini görüntüle" seçeneğini titretebilirsiniz.

    Yeni bir menü öğesi görür ve ardından tarayıcıda sayfayı yeniden yazarsanız, yeni öğenizi üst menüye ekleyemezsiniz. Üst menüdeki öğeler, yan öğeler olmadan ve numune talebi olmadan menüde görünmez. "Bileşenler" menüsünün ekseni, ağaçta gördüğünüz gibi, kurulu hiçbir bileşen olmadığı sürece MODX Revolution kurarsanız menüde görünmez.

    yakosti'de basit popo Sizi kontrol panelinin en sık kullanılan dağıtımlarına yönlendireceğiniz için menü için yeni bir menü ataması oluşturalım. Diyelim ki robotunuz sistemi kurma, dökümanları kaydetme/düzenleme ve erişimi kontrol etme noktasına sık sık ziyaretler yapabilecek. "Menüm" adı altındaki üst menünün bir öğesi, işaretli noktalara ek olarak anında tanınabilir. Açıkçası, robotun tamamını sağ panelde görebileceğiz (Üst menü).

    Dağıtıma git Sistem-> Дії ve (üst menü ağacında) "Menü ekle" düğmesini tıklayın. "Menüm" adını girin ve "Im'ya" alanında "Kaydet" düğmesini tıklayın.

    ben- Yeni belge

    Diya- çekirdek kaynak / yarat

    ben- Sistem ayarı

    Diya- çekirdek sistem / ayarlar

    ben- Giriş kontrolu

    Diya- çekirdek güvenlik / izin

    Üç yeni menü öğenizi є "Menüm" menüsündeki öğeleri çaprazlayın. Değilse, onları yanlış yere çekin. Menü ve menünün sırasını da değiştirebilirsiniz.

    Ek olarak, gerekli roztashuvannya menüsünü talep ettiyseniz, Keruvannya panelinin yan tarafını tarayıcıda yeniden yazın. Üst menüdeki yeni "Menüm" öğesini kontrol edin, böylece kontrol panelinin en son dağıtımlarına öncülük etmekten suçlu olan üç alt menü ekleyebilirsiniz.

    Ne tür bir menü öğesi belirlediğinizi görmek istiyorsanız, bölüme gitmeniz yeterlidir. Sistem-> Дії, Sağ tuş ile üzerlerine tıklayın ve "Vidal" ile titretin. Veritabanındaki kokunun baskın olmaması için ana menü öğesine gelen tüm mesajları görmek iyi bir fikirdir.

    Yak menü öğelerini devralır

    Menüdeki öğelerin geçiş sırasını değiştirmenin yanı sıra, menü öğesine erişme, ekleme hakkını da yakalayabilirsiniz. Dağıtıma git Sistem-> Дії menü ağacını ateşle Sağ Taraf("Üst menü" başlığına bakın).

    Herhangi bir öğeye veya menü öğesine sağ tuşla tıklayın ve "Redaguvati"yi titreştirin. "Erişim hakları" alt alanından bir iletişim kutusunda görünün. Başka bir alanı değiştirmemeye dikkat edin.

    Menü öğelerine girer girmez, "Erişim hakları" alanının onlar için saklandığını, ancak insanlar için olmadığını görün. Büyümeniz, alanı yakalamanız, tarlada depolanmış olandan, olmayandan bırakmanız gerekiyor.

    "Erişim hakları" alanında bir erişim hakları listesi olduğu anda, erişim haklarını engellemek için yeni bir erişim politikası ve erişim için menü öğesi ayarlayabilirsiniz (veya değiştirebilirsiniz). Tüm işlem biraz farklı olabilir, kontrol panelindeki bazı menü öğeleri aynı erişim haklarından bulunabilir. yöntemi kısaltıyoruz Kişinin erişim hakları için ek özellikler alanında ek bilgiler olabilir.

    "Erişim hakları" alanı, com tarafından paylaşılan erişim haklarının listesini gizleyebilir. Danimarka menü öğesi, yalnızca tüm pererakhovani erişim hakları olabilecek koristuvachi'yi yumruklamak için.

    Kıçına hayran olalım. Güya, "Bezpeka" menüsündeki Süper Kullanıcı pіdmenіyu "Yönetim koristuvachi" ile suçlama koristuvach'ın arkasında hepimiz koristuvachіv'ı yakalamanız gerekiyor.

    Dağıtıma git Sistem-> Дії menü ağacını açın ve ardından "Koristuvachi'yi yönet" alt maddesine sağ tuşla tıklayın ve "Redaguvati" öğesini seçin. "Erişim hakları" alanı, view_user'dan intikam almaktan suçludur. Size my_view_user_menu adı altında erişim hakları vermeliyiz. Tüm alanın tamamen değişmesi için view_user, my_view_user_menu'ya bakın. Çapraz, haraç girişinde boşluk yok. Artık "Suçluları yönetmek" alt maddesinden kurtulmak için annenin erişim hakkını aşağılaması gerekir;

    Erişim hakları olmayan menü öğeleri için prosedür benzerdir. "Erişim hakları" boş alanına erişim hakları için yeni kimlik bilgileri eklemeniz yeterlidir.

    Görünüşe göre yetkimize erişim hakkı verdiğimiz için süper kullanıcı "süper kullanıcıların yönetimi" ile aynı haklara sahip değil. Düzeltilmesi için erişim hakları verilmesi gerekir. İşlemi gerçek bir sitede görmeyi planladığınız anda, katip için erişim hakları işaretleri görülmeden önce, yöneticiye birçok erişim hakkı verin.

    Kontrol panelindeki Oskіlki standart Yönetici grubu çalındı, yeni bir erişim politikası şablonu oluşturmanız gerekiyor, böylece erişim hakkı ve yeni erişim politikası, onlara dayanacağım. Erişim ilkesinin tüm şablonuna erişim için tüm haklarınızı koyabilirsiniz. razdіlі içinde Bezpeka-> Erişim Kontrolü"Bir Erişim Politikası Şablonu Oluştur" üzerine tıklayın. Diyalog için aşağıdaki parametreleri seçin:

    ben : Özelİzin Şablonu

    Şablon grubu : yönetici

    betimlemek :

    "Dodati çevrildi" düğmesi üzerinde farenin sağ tuşuna tıklayın. Diyalog durumunda, aşağıdaki parametreleri seçin:

    ben : my_view_user_menu

    betimlemek : Koristuvach menüsüne erişim hakları

    "Erişim politikası" sekmesine tıklayalım, ardından "Erişim politikası oluştur" düğmesine tıklayalım. Diyalog durumunda, aşağıdaki parametreleri seçin:

    ben : Özel İzinler

    Erişim ilkesi şablonu : Özelİzin Şablonu

    betimlemek : Yetki erişim haklarım

    "Özel izinler" erişim politikasını öğrenin ve "Redaguvati"yi titretin. Sağ my_view_user_menu'ya erişmek için listeyi aşağı kaydırın ve sipariş onay kutusuna bir onay kutusu koyun. Dağlarda sağdaki "Kaydet" düğmelerine tırmanın.

    Şimdi koristuvachev'e değiştirilemeyen Süper Kullanıcı hakları ve yeni bir öğe yoluyla erişim kontrol listesine erişim hakkı vermemiz gerekiyor. bölüme git Bezpeka-> Erişim kontrolü-> Groupy koristuvacha"Yönetici" grubundaki sağ düğmeyi tıklayın ve "İnsan grubunu düzenle"yi seçin, "İçeriğe dayalı erişim" sekmesine ve ardından "Bağlam ekle" düğmelerine tıklayın.

    bağlam : yönetici

    asgari rol : Süper Kullanıcı - 0

    Erişim Politikası : Özel İzinler

    Üst menüde, titreşim Bezpeka-> Erişim Kontrolü... Nichto, değiştirilemeyen Süper Kullanıcı haklarına (ve ayrıca ücretsiz erişim politikasına sahip koristuvachiv) sahip bir koristuvach skeç için bir menü öğesini yenemez. Sitenin editörlerinden biri olarak kontrol paneline giderseniz, "koristuvachi yönetimi" alt maddesi görülmekten suçludur.

    geri ileri