2016-03-29 14 views
3

Bir klasörünüz varsa, görüntüyü içerik öğesine dönüştürün, varsayılan görünüm olarak bir sayfa seçin ve klasör nesnesindeki context.absolute_url_path() yöntemini kullanın, bu yanlış.Varsayılan görünüm kümesine sahip bir mutlak_dosya_adı klasörünü nasıl edinirsiniz?

zaman bu yöntem çağrılır klasörün bağlam ve tarih:

context.absolute_url_path() 

O bir /my-klasör/my-default sayfalık-nesne

absolute_url_path dönecektir Klasörün içeriği /klasörümüzü döndürmelidir.

Varsayılan sayfa ayarlandığında, bir nesnenin gerçek yolunu bulmanın bir yolu var mı?

Ek Notlar: Ben yolundan context.getDefaultPage() çıkarmak için denedim, sorun getDefaultPage (root aka) plone sitesi nesne üzerinde bir varsayılan beri hiç mantıklı dönen Hiçbiri tutar sayfa ayarlandı. Kutu dışındaki sayfa becerisi nesnesi ve özel bir beceri nesnesi olan plonlarla onaylandım.

ben Tarif ettiğiniz durumda

cevap

7

Plone'u 5. koşuyorum, bağlam varsayılan sayfa nesnesidir - bu klasörü içeren olmayacağım. Nesne varsayılan bir görünüm olmadıkça geçerli nesne olan "kanonik" nesnesinin url yolunu istersiniz. Varsayılan görünüm durumunda, içeren klasördür. eğer

context/@@plone_context_state/canonical_object/absolute_url_path 

Ve: Bir sayfa şablonunda çalışıyorsanız

context_state = getMultiAdapter((context, request), name=u'plone_context_state') 
canonical_object = context_state.canonical_object() 
canonical_url_path = canonical_object.absolute_url_path() 

, olurdu:

plone_context_state görünümünü kullanın, kanonik nesnenin url yolunu almak için URL’den sonra, yalnızca yol bileşeni değil, absolute_url_path yerine mutute_url’u kullanın.

İlgili konular