2016-09-08 2 views
1

Ich verwende das Silverstripe Twitter-Modul. Es hat eine Seiten-Controller-Funktion namens LatestTweets($value), die offensichtlich die neuesten Tweets anzeigt.Silverstripe: Top.PageControllerFunction wird nicht angezeigt

Wenn ich die Funktion Neueste Tweets der Page.ss Vorlage hinzufügen. Die Tweets werden angezeigt. Alles funktioniert gut.

Ich benutze auch Shaedawson Blöcke Modul. Ich habe einen "Raster" -Block. Der Rasterblock hat eine Vorlage (Grid.ss) im Vorlagenordner (templates/). Wenn ich der Rastervorlage $Top.LatestTweets(3) hinzufüge, werden die Tweets nicht angezeigt.

Kann jemand erklären, warum das passiert?

Antwort

0

Ich habe das herausgefunden. Der Grund, warum die „Latest Tweets“ -Funktion nicht auf meiner Vorlage wurde erscheint, war, weil ich Block_Controller

Ich habe folgendes auf meine ‚extension.yml‘ Datei zu verlängern hatte:

Block_Controller: 
    extensions: 
    - TwitterExtension 

würde Ich mag um die "Twitter Feed" Vorlage in meine Grid Vorlage "einzubinden". Aber das funktioniert und wird für jetzt tun.

2

Es funktioniert auf jedem Seitencontroller, weil das Modul tractorcow/silverstripe-twitter die Erweiterung TwitterExtension auf dem in seiner Konfiguration ermöglicht.

Blöcke in sheadawson/silverstripe-blocks Modul werden mit SiteTree-Kontext gerendert (der obere Bereich) und Ihre LatestTweets()-Funktion ist nicht verfügbar.

Also, die einzige Abhilfe ist die TwitterExtension auf Ihrem Page aktivieren.

+0

Danke für die detaillierte Erklärung. Ich habe herausgefunden, wie ich das beheben kann. Ich habe eine Erweiterung zu "Block Controller" in meiner extensions.yml Datei hinzugefügt. 'Block_Controller: Erweiterungen: - TwitterExtension' Und das funktionierte. – Dallby