2011-09-20 19 views
5

Cách tốt nhất để hiển thị hình ảnh của loại nội dung Plone dựa trên khéo léo trong chế độ xem danh sách là gì?Làm cách nào để hiển thị hình ảnh của loại nội dung Plone dựa trên khéo léo trong chế độ xem danh sách?

Nói rằng tôi có một thư mục với các đối tượng nội dung Dexterity dựa trên cung cấp một lĩnh vực hình ảnh và tôi muốn liệt kê các đối tượng (như não catalô) cùng với hình ảnh của họ. Nó có thể hiển thị hình ảnh trong danh sách bằng cách gọi URL tuyệt đối của họ:

<img src="" tal:attributes="src string:${item/getURL}/@@images/image/thumb" /> 

Mặc dù, Plone sẽ nâng cao một lỗi nếu hình ảnh không tồn tại và tôi không thấy một cách tốt để kiểm tra xem hình ảnh tồn tại trong một mẫu trang. Chúng tôi rõ ràng không muốn thức dậy các đối tượng cho một danh sách, để tìm kiếm hình ảnh.

Tôi có phải tạo ra một cột siêu dữ liệu ảnh trong các cửa hàng hoặc là có một giải pháp tốt hơn tôi không thấy?

+0

Tôi đã có một câu hỏi tương tự và tôi đã nhận những câu trả lời. http://usarios-plone.2295514.n2.nabble.com/Solicito-ayuda-para-ponerle-foto-a-mi-Congreso-td6860749.html#a6887162 – user1162968

Trả lời

5

tôi sẽ không lo lắng quá nhiều về thức dậy các đối tượng trong danh sách miễn là nó được trộn đúng cách. Nếu bạn đang sử dụng các trường từ plone.app.textfield và plone.namedfile thì dữ liệu lớn được lưu giữ trong các đối tượng liên tục riêng biệt, do đó đối tượng mục nội dung chính là tương đối nhẹ. Tất nhiên, làm điểm chuẩn của riêng bạn nếu bạn muốn chắc chắn nó không làm tổn thương cho trường hợp của bạn.

+0

Phải, tôi quên rằng dữ liệu hình ảnh cho các đốm màu được lưu trữ riêng biệt. – tisto

4

Có một công thức cho làm thế nào để làm điều này trong Plone phát triển 4 Professional (chương 10, tôi tin). Thật không may, tôi thực sự không thể nhớ làm thế nào để làm điều đó ngay bây giờ. :)

+0

Cảm ơn đã gợi ý! Tôi sẽ xem và dán câu trả lời ở đây. – tisto

+0

Vui lòng đảm bảo không đăng bất kỳ tài liệu có bản quyền nào tại đây. Cung cấp câu trả lời của riêng bạn cho câu hỏi. – zedr

+0

zedr - Tôi đã viết cuốn sách đó và tôi sẽ không đăng tài liệu trực tiếp từ đó. Tôi chỉ muốn cung cấp cho Timo một câu trả lời ngay cả khi tôi không có thời gian để tìm kiếm nó. – optilude

0

Tạo một siêu dữ liệu trong portal_catalog nơi bạn sẽ lưu trữ một đường dẫn đến một hình ảnh hợp lệ. Tạo tập lệnh python có cùng tên sẽ kiểm tra xem đối tượng có hình ảnh hay không và trong trường hợp không có hình ảnh, hãy trả về một hình mặc định.

0

Một ví dụ để kiểm tra lĩnh vực hình ảnh là avalable:

class product(grok.View): 
    grok.context(IDexterityContent) 
    grok.require('zope2.View') 
    grok.name('view') 

    def update(self): 
     """ 
     """ 
     # Hide the editable-object border 
     context = self.context 
     request = self.request 
     request.set('disable_border', True) 


    #brain come from contained image field 's object 
    def isImageAvalable(self,brain=None): 
     """判断图片字段是否有效""" 
     try: 
      if brain is None: 
       image = self.context.image.size 
      else: 
       image = brain.getObject().image.size 

      return (image != 0) 

     except: 
      return False 
Các vấn đề liên quan