2015-12-29 19 views
5

Có cách nào để lấy html được hiển thị của một mục dựa trên các giá trị trình bày của nó từ mã phía sau không? Trong một dự án gần đây điều này cần phải được thực hiện và chúng tôi hiện đang cạo trang web của chúng tôi với một yêu cầu khác có vẻ lãng phí.Sitecore Get Rendered Html

+0

Bạn có thể sử dụng API Web mục nhưng điều đó sẽ không tính đến các tham số hiển thị tài khoản và bạn phải cung cấp id mục cho nguồn dữ liệu. Tôi sẽ giả định rằng đây không phải là những gì bạn đang mặc dù. Trang 15: https://sdn.sitecore.net/upload/sdn5/modules/sitecore%2520item%2520web%2520api/sitecore_item_web_api_developer_guide_sc65-66-usletter.pdf – jammykam

Trả lời

3

Thật không may tôi không nghĩ rằng có một cách sạch sẽ để đạt được điều này. Một usercontrol dựa chủ yếu vào việc chạy qua vòng đời của trang và do đó yêu cầu HTTP. Bạn cũng thường có phụ thuộc vào các phần khác nhau của bối cảnh Sitecore được xây dựng trong quá trình yêu cầu.

Với MVC bạn có nhiều tùy chọn hơn vì bạn có thể gọi trực tiếp phương thức Render. Nhưng bạn vẫn phải xây dựng đúng mô hình ngay từ đầu. Vì vậy, có thể bạn sẽ vẫn gặp khó khăn.

Như bạn đã nói nó có vẻ lãng phí, nhưng cạo màn hình là cách thông thường để đạt được nó. Tôi biết một vài mô-đun hiện có sử dụng phương pháp này để lập chỉ mục nội dung trang.

+0

Cảm ơn phản hồi. Có vẻ như tôi sẽ rời khỏi phương pháp hiện tại một mình vì những lý do nêu trên. – Teeknow

1

Tôi thường mở một trang web yêu cầu và lấy mục. Nếu tôi chỉ cần một trình giữ chỗ cụ thể, tôi hạn chế quyền truy cập vào trình giữ chỗ đó thông qua một cái gì đó như ?mode=placeholder-name.

Điều này đặc biệt hữu ích khi thu thập dữ liệu trang web và muốn lưu vào bộ nhớ cache HTML trong chỉ mục tìm kiếm của bạn.

0

Bạn có nghĩa là trong trình chỉnh sửa trải nghiệm không? Chúng tôi đã có cùng một vấn đề khi cố gắng lập chỉ mục các trang cho tìm kiếm đã được phát triển trong trình chỉnh sửa trải nghiệm. Những gì chúng tôi đã làm được thực hiện một HttpRequest đến trang, lấy ra html, loại bỏ tất cả các thẻ và lập chỉ mục nội dung như _content. Khi chúng tôi muốn thực hiện tìm kiếm từ khóa, chúng tôi sẽ đối chiếu với _content. Hi vọng điêu nay co ich. Charlie

+0

Anh ấy đã đưa ra yêu cầu cho trang và đang tìm kiếm một cách tiếp cận thay thế. ("chúng tôi hiện đang cào trang web của chúng tôi với một yêu cầu khác") –

+1

Bạn đã bỏ lỡ điều đó. Tôi đã cố gắng để suy nghĩ của cùng một điều, nhưng không thể tìm thấy một: ( –

+1

Không có vấn đề. Biến thể của câu hỏi này xuất hiện trên Stack tràn thường xuyên.Nó sẽ là tuyệt vời nếu Sitecore có thể đưa ra một giải pháp. –