2013-03-01 31 views
5

Formüle dayalı başlıkları oluşturan birçok şablona sahibim. Sizi doğrudan bu bölüme götürecek bir "düzenleme" bağlantısı oluşturmak için zaten var mı merak ediyorum? Şu anda çalıştığı şekilde, düzenleme bağlantısı sizi şablonun kendisini düzenlemeye götürür. Sizi sayfada tutan ve sizi doğru yere götürecek özelleştirilmiş bir bağlantı oluşturabilir miyim?Bir şablonun içinde oluşturulan başlıklar

İşte ... size daha fazla yardımcı olmak için bazı örnek kod

Şablon: Baş:

==={{{1}}}=== 
This is a heading titled "{{{1}}}" 

Test Sayfası: Şu anda

=Section 1= 
{{head|1.1}} 
{{head|1.2}} 
{{head|1.3}} 
=Section 2= 
{{head|2.1}} 
{{head|2.2}} 
{{head|2.3}} 

, "2.3" şablonunun bilgilerini düzenlemek istersem, tüm bölüm 2'yi düzenlemeliyim. (Bu örnek için şunu unutmayın. Bu büyük bir anlaşma değil. Sitemde çalıştığım gerçek şablonlar için, şablonların düzinelerce parametresi var ve bazen bir bölümde 10 veya daha fazla var.)

Alt satır, {{head}}'un içinde özel bir düzenleme bağlantısı oluşturmanın bir yolu var "Sınama Sayfası" sayfasındaki şablon çağrılarını düzenlemeye doğrudan götürecek şablon Umarım bu mantıklıdır.

Düzenleme: "Anchor" etiketlerini kullanmanın bir yolu var mı? Anchor’lar URL’ye iletilebilir mi?

cevap

1

Eminim ki bunu yapmanın bir yolu yoktur.

=== Some text here === 

başlığı düzeyini belirleyen = işaretlerin sayısı ile: Bildiğim kadarıyla MediaWiki'nin bölüm düzenleme özelliği ile ilgili olarak, yeni bir bölüm başlıyor sadece şey formunun bir çizgidir. MediaWiki'nin, belgenin böyle bir satırla (veya sayfanın başı veya sonu) başlamayan ve bitmeyen herhangi bir bölümünü düzenlemenize olanak tanıması için bir yol yoktur.

Eh, tamam, eminim teknik olarak olabilir bir MediaWiki uzantısı ile şey yapabilir anlamda bir uzantısı ile bunu. Yapmanız gereken tek şey, kullanıcının "Bu şablonu düzenlemek istiyorum" u belirtmesi için bir yol (örneğin, bir düzenleme URL'sinde özel bir parametre) sağlamak, ardından şablonu wikitext'ten ayıklamak, düzenlemek için kullanıcıya sunmaktır ve sonucu orijinalin üzerine sayfa metnine geri yazınız.

Zor kısmı, şablonu sayfa kaynağından ayıklanıyor olacak. (Bir sayfada bulunan şablonların bulunması ve değiştirilmesi, MediaWiki bot yazarları için oldukça yaygın bir görevdir, bu yüzden orada fikir aramak isteyebilirsiniz.) Bunun için ne tür bir yöntem kullanıyor olursanız olun, muhtemelen pes etmeniz gereken kenar vakaları olacaktır. ve kullanıcıya "Üzgünüm, ama bu şablonun buraya nasıl aktarıldığını anlayamıyorum."

1

Sorununuzu yeniden belirtmek için, başlık bölümünün bir bölümünü aktardığınızda, başlık sayfasının bir parçası olarak işlem görmez, bu nedenle düzenleme bağlantısı sizi kaynağa geri götürür. Bu nedenle, şablonu ayrı ayrı düzenlemek için ayrı bir kapsayıcıya ihtiyacınız vardır ve tam bir bölüm en küçük düzenlenebilir kapsayıcıdır.

Bunu yapmayı düşünebilmemin tek yolu, alt sayfaların kullanılmasıdır (veya bu ad alanında bu özelliği etkinleştirmemişseniz, sanal alt sayfalar hiçbir şeyi değiştirmez).Bu nedenle 'u MyPage numaralı ürüne yerleştirmek yerine, MyPage/Subpage1 ürününe koyun ve bunu MyPage numarasına normal şekilde ({{:MyPage/Subpage1}}) aktarın.

{{head}} ardından etiketleri (<h2> vb == eşittir) standart düzenle bağlantısını bastırmak ve daha sonra these templates birini (kullanmak başlığı HTML kullanarak şablon girişine özel bir düzenle bağlantısını içerebilir muhtemelen {{ed right}}) MyPage/Subpage1'a işaret eden özel bir düzenleme bağlantısı oluşturmak için.

Mediawiki'de çapa oluşturmanın yolu, bu arada, <span id="name"/> etiketini kullanmaktır, ancak bu düzenlenebilir bir kapsayıcı oluşturmaz (veya en azından, çalışamadığımdan) URL tinkering aracılığıyla).

+0

Sorun, şablona "{{{1}}}" olarak hangi argümanı veriyorsunuz? Onun harika bir fikir ama işe yaramıyor. Yine de teşekkürler. – Zack

+0

Doğru, üzgünüm, tüm yol boyunca düşünmedim. Sorununuzu yeniden belirtmek için, başlık bölümünün bir bölümünü çevirdiğinizde, başlık sayfasının bir parçası olarak işlem görmez, bu nedenle düzenleme bağlantısı sizi kaynağa geri götürür. Yani gerçekten yapmak istediğiniz şey, bölümün tamamını düzenleme kutusunun tamamını açmadan bölümün bir bölümünde düzenlemek. Biraz karmaşık olan bazı karmaşık WML'yi geliştirmeye başlamadan önce, bölüm başlıklarını doğrudan hedef sayfaya ekleyememenizin bir nedeni var mı? –

+0

Bölüm başlıkları, bir formüle göre oluşturulur. – Zack

İlgili konular