2016-09-23 2 views
0

Ich habe viele Artikel und jeder ist unter verschiedenen Kategorien/Unterkategorien zugeordnet. Was ich tun möchte, ist am Ende des einzelnen Artikels, ich werde eine Liste der zugehörigen Artikel basierend auf der Kategorie (n) anzeigen, die der aktuelle Artikel platziert ist. Ich habe einen Repeater hinzugefügt, weiß aber nicht, was ich in Content Filter/Category Name eingeben soll, um dies zu erreichen. Hoffe, es ist nicht so komplex. Danke für deinen Beitrag!Kentico - Anzeige Liste der verwandten Artikel basierend auf Kategorien/Unterkategorien

Antwort

1

du in Portal ohne Berührung der Code erreichen können, wenn Sie benötigen. Die folgenden Schritte sind, wie Sie es erreichen können (obwohl sie rau und bereit sind!)

  1. In Ihrem Artikel Seitentyp, eine neue Abfrage erstellen. Dieser Query-Job wird sein, das vorhandene Dokument mit allen anderen zu verbinden, die die gleichen Kategorien teilen. Ihre Abfrage sollte wie folgt aussehen:
 
    SELECT ##TOPN## ##COLUMNS## 
    FROM View_CMS_Tree_Joined rel 
    INNER JOIN CMS_DocumentCategory relcat ON relcat.DocumentID=rel.DocumentID 
    INNER JOIN CMS_DocumentCategory doccat ON relcat.CategoryID=doccat.CategoryID 
    WHERE ##WHERE## 
    AND rel.DocumentID doccat.DocumentID 
    ORDER BY ##ORDERBY## 
  1. Jetzt ersetzen Sie Repeater mit einem Repeater mit benutzerdefinierter Abfrage. Wählen Sie in der Einstellung Ihre neu erstellte Abfrage für das Feld Abfragename mit dem Auswahlsteuerelement aus.
  2. Stellen Sie die WHERE-Klauseldoccat.DocumentID={% CurrentDocument.DocumentID #%}
  3. Wählen Sie die entsprechende Transformation zu sein, und Sie sollten gut zu gehen.

Diese Methode erfordert eine exakte Kategorie Spiel, so Kategorien> Autos> Mazda nicht an Kategorien entsprechen> Cars.

Hoffentlich ist dies von Nutzen :)

+0

Das hat geholfen! Vielen Dank! – Michelle

0

This article kann Ihnen eine Idee zum Erstellen eines Filters geben, aber ich denke nicht, dass dies genau das ist, was Sie wollen. Es zeigt, dass Sie die Dokumente über die API erhalten müssen.

Sie könnten eine benutzerdefinierte Abfrage tun, so etwas wie dieses

SELECT * 
FROM dbo.View_CMS_Tree_Joined vctj 
WHERE vctj.DocumentID IN 
(
    SELECT DocumentID 
    FROM CMS_DocumentCategory 
    WHERE CategoryID IN 
    (
     SELECT CategoryID 
     FROM CMS_Category 
     WHERE dbo.CMS_Category.CategoryName = 'Name Here' 
    ) 
); 
Verwandte Themen