Tôi đang cố gắng xây dựng một chủ đề (chuyển đổi một mẫu hiện có mà tôi có) trong Orchard nhưng tôi gặp khó khăn khi tạo kiểu cho tiện ích Blog Archives. Tôi có một vùng "sidebar", trong đó tôi đặt widget.Làm thế nào để tạo kiểu cho một Widget ở Orchard?
Để có nó ra đánh dấu tôi muốn tôi đã tạo ra một mẫu mới trong quan điểm của tôi thư mục: Widget-BlogArchives.cshtml Tất cả các mẫu nó quấn nội dung của widget trong một div như vậy:
<div class="box box_small">
@Display(Model.Content)
</div>
Vì vậy, tôi mong đợi tất cả nội dung tiện ích nằm trong div của tôi. Tuy nhiên, HTML được tạo trông giống như sau:
<article class="widget-blog-archives widget" shape-id="15">
<header shape-id="15">
<h1 shape-id="15">The Archives</h1>
</header>
<div class="box box_small" shape-id="15">
<div class="archives" shape-id="16">
<ul class="archiveMonthList" shape-id="16">
<li class="first last" shape-id="16">
<a href="(shortened)/10" shape-id="16">October 2011 (1)</a>
</li>
</ul>
</div>
</div>
</article>
Điều tôi không hiểu là toàn bộ bài viết đến từ đâu? Làm thế nào tôi có thể nhận được các tiêu đề vào div của tôi và thay đổi để a?
Có thể ai đó cũng vui lòng giải thích vị trí trong Mô hình tiêu đề "Lưu trữ" được lưu trữ không? Tôi đã xem qua mô hình trong công cụ truy tìm hình dạng nhưng không thể tìm thấy nó ...
Cảm ơn.
CẬP NHẬT
Như Bertrand giải thích tôi đã thực hiện một số thay đổi của tôi Widget-BlogArchives.cshtml:
@using Orchard.ContentManagement
@using Orchard.Widgets.Models
@{
Model.Metadata.Wrappers.Clear();
var title = ((IContent)Model.ContentItem).As<WidgetPart>().Title;
}
<div class="box box_small">
<h3>@title</h3>
@Display(Model.Content)
</div>
này bây giờ tạo ra HTML tôi muốn.
Cảm ơn bạn Bertrand. Tôi sẽ đặt mã để xóa các trình bao bọc ở đâu? Và đây có phải là một cách được khuyến nghị để tạo kiểu cho widget hay tôi nên ghi đè lên trình bao bọc thay vì Widget-BlogArchives.cshtml? Tôi vẫn đang cố nắm bắt tất cả các khái niệm ở đây và thực hành tốt nhất là gì. – b3n
Bạn sẽ đặt mã đó vào ghi đè mẫu tiện ích con của mình. một cái gì đó như widget-blogarchives.cshtml, tùy thuộc vào những gì bạn đang cố gắng làm (nhìn vào các thay thế có sẵn trong hình dạng truy tìm để quyết định cái nào bạn muốn, bạn có thể muốn thêm tính năng thay thế tiện ích bằng cách này, để có được nhiều khả năng hơn). Bạn không thể thay thế trình bao bọc, do đó, việc ghi đè mẫu trình bao bọc tiện ích sẽ ghi đè lên tất cả các tiện ích con. Có lẽ không phải những gì bạn muốn. vì vậy có, đây là một cách hoàn toàn hợp lý để làm việc. –
Có Tôi đã bật tính năng thay thế, do đó ghi đè Widgets-BlogArchives.cshtml. Tôi chỉ không thể tìm ra được cái đầu đến từ đâu vì tôi không thể tìm thấy nó trong công cụ dò tìm hình dạng. – b3n