Skip to content

Inserting of different position possibilities of the banners - #189

Open
in-session wants to merge 14 commits into
derhansen:mainfrom
in-session:patch-1
Open

in-session wants to merge 14 commits into
derhansen:mainfrom
in-session:patch-1

Conversation

@in-session

Copy link
Copy Markdown

Hi thanks for the EXT.

I still missed the possibility to assign the banners to different areas, e.g. sidebar, footer, header etc.. With this it should now be possible to control which area it is and only display these banners.
Now the frontend output can also be adjusted by fluid, let's assume it's the sidebar with skyscraper banner. Then you could now make a template switch here and also define the image sizes in the fluid and make other adjustments.

Unfortunately, my knowledge is not sufficient for a hook, so the settings still have to be made in the TCA.
Better would be an itemsProcFunc here, maybe you can think of something else here?

TCA Settings Example:

#Add section layouts to content flexform settings
TCEFORM.tt_content.pi_flexform.sfbanners_pi1.sDEF.settings.displaySection.addItems {
30 = Sidebar (Skyscraper Banner)
40 = Footer (Large Leaderboard)
}
#Add section layouts to plugin settings (must be the same as the content flexform settings)
TCEFORM.tx_sfbanners_domain_model_banner.section.addItems {
30 = Sidebar (Skyscraper Banner)
40 = Footer (Large Leaderboard)
}

Cheers Chris

@derhansen

Copy link
Copy Markdown
Owner

Hi Chris,

thanks a lot for your pull request. I would have suggested to use categories for your requirement. I used this in several projects, where the banners are placed in different sections of a website. Just assign a banner one or multiple categories, then add the plugin to the selected content area and select the required category there. What of course is missing is the possibility to add different layouts to banners (e.g. like in ext:news or ext:sf_event_mgt)

I rather think it will suit more, if we just add a "templateLayout" select field to the Banner plugin, which then can be used in the Fluid templates. Then there is no need for an additional selection criteria for the banners (like "section" in your PR).

What do you think of this solution?

Best regards
Torben

@in-session

in-session commented Nov 13, 2018

Copy link
Copy Markdown
Author

Hi Torben,

ich schreibe dir jetzt einfach mal auf deutsch zurück :-)

Also im Prinzip ist das Feld "sectionLayout" ja ein Template Layout Switch wie bei News. Ich habe es jetzt so programmiert das man bei den einzelnen Banner sagen kann das es zum Beispiel für die Sitebar ist und im Plugin dann mittels Dropdownfeld nur die Banner anzeigen welche für die Sitebar sind.
Die Kategorien würde ich in dem Fall ehr dazu verwenden um die Sidebar-Banner nochmal unter zu selektieren. Mittels dem Switch kann man dann z.B. auch die Größen der Bild im Fluid festlegen und die dann fix ausgeben, also in der Sidebar maxHeight 600px als Beispiel. Somit ist man dann später auch noch sicher das die Bilder im richtigen Format ausgegeben werden. Wenn man jetzt noch eine itemsProcFunc reinmachen würde brächte man die Layoutsettings im TCA nur einmal festlegen anstatt einmal fürs Plugin und einmal für die Banner.

Ich hatte noch eine andere Idee aber da bin ich jetzt leider noch nicht weitergekommen, hier war der Gedanke zusagen wenn z.B. kein Sidebarbanner zur Verfügung steht lade einen externen Anbieter für die Sidebar. Aber da komme ich nicht weiter da der Javascript mir da noch ein Strich durch die Rechnung macht, eine vorherige Abfrage zumachen, da die Banner ja erst nach dem Script rein geladen werden.
Im Prinzip müsste man dem Show Banners mitteln wenn keine Banner vorhanden dann... Und somit könnte man eben auch über das sectionLayout sagen welche Art von Ad bzw. Größe geladen werden soll.

Grüße Christoph

Noch ein kleiner Nachtrag:
Was mir gerade noch einfällt mit dem Layoutswitch hat man auch dann die Möglichkeit externes Tracking besser zu Konfigurieren, als Beispiel Matomo:

<f:image image="{asset}" title="{banner.alttext}" alt="{banner.alttext}" additionalAttributes="{data-content-name: 'sidebar', data-content-piece: '{banner.uid}#{banner.title}', data-content-target: '{banner.link}'}" maxHeight="600"/>

@derhansen

Copy link
Copy Markdown
Owner

Hallo Christoph,

ich habe nun etwas über der Thema nachgedacht, finde jedoch nach wie vor die Lösung nur ein Template Switch im Plugin festzulegen am besten. In ext:news legt man ja auch nicht pro News-Item fest, welches Layout dieses haben soll, sondern steuert dieses über das Plugin zusammen mit der Datenselektion.

Ähnlich würde ich das auch für das Banner Management umsetzen. Es wird im Plugin ein layout switch definiert, welchen man per PageTS mit möglichen Werten ergänzen kann und in den Templates kann man dann per <f:switch> das Layout (z.B. die Höhe) der auszugebenden Banner festlegen.

Da man im Plugin bereits Banner nach Kategorie und nach Sys-Folder selektieren kann, finde ich eine dritte Selektions-Möglichkeit eher verwirrend als hilfreich.

Das genannte (also Template Layout im Plugin) kann ich gerne so umsetzen/integrieren. Layout direkt in den Banner Datensätzen würde ich aber leider nicht integrieren. Passt das für dich?

Beste Grüße
Torben

@in-session

Copy link
Copy Markdown
Author

Hallo Torben,

aber sicher, es war nur ein Grundgedanke von mir nicht über unterschiedliche Sysfolder zugehen.
Aber Grundsätzlich ist das ja nicht so wild, soll ich dir da einen Pull erstellen oder magst du es lieber selber umschreiben?

Meinst du es gib eine Möglichkeit so ein Fallback einzufügen? Also wenn BannerRepository = 0 dann mache das. Wäre ja im Prinzip ähnlich wie bei den News, wenn keine News vorhanden kommt die Meldung "Keine News". Somit könnte man einen externen Anbieter migrieren falls für das gesetzte templateLayout aktuell kein Banner beinhaltet.

Grüße Christoph

@derhansen

Copy link
Copy Markdown
Owner

Hey Christoph,

sorry, das Ticket/der PR hier ist leider vollkommen untergegangen.

Implementiert werden müsste dann ja lediglich folgendes

An den Templates würde ich nichts verändern, da die Nutzung der TemplateLayouts ja nur optional ist.

Kann ich gerne einbauen oder du erstellst einen PR.

Viele Grüße
Torben

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants