#1

Kissling

Eroberer  (94 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.vision4d.de

Hallo,

 

folgendes Problem:

Wenn ich Benutzerdefinierte erweiterte Eigenschaften anlege (z.B. als "my.parameter" für eine Fließkomma-Zahl), dann gibt es da den Bereich "Gilt für:".

Wenn man hier nun "Gesamte Website" angibt, so sollte man auf diesen Parameter in den entsprechenden .ccml Dateien über <cc:print value="&site.properties.user.my.parameter"> zugreifen können.

 

Wie sieht es jedoch aus, wenn man anstatt "Gesamte Website" den Bereich "Absätze" und dort "Plugin" verwenden will? Siehe auch angehängte Bilder.

Wie ändert sich dadurch der Parameter Name?

Also anstatt "&site.properties.user.my.parameter" wird es dann wohl so etwas ähnliches werden wie z.B.: "&paragraph.plugin.properties.user.my.parameter" (was so nicht korrekt ist).

Und gibt es irgendwo eine Übersicht, Liste oder Anleitung für die ganzen anderen ebenfalls möglichen Kombinationen?

 

Viele Grüße,

 


#2

Thomas

Moderator  (2298 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://siquando-designs.de

Ich Files-Bereich findest du die Anleitung „workshop_erweiterte_design_eigenschaften.pdf“, eventuell hilft sie dir.

Der Aufruf der Absatz-Eigenschaft müsste des Weiteren &para.properties.user.my.parameter oder &paragraph.properties.user.my.parameter lauten.


Viele Grüße
Thomas

siquando-designs.de (NEU: KARO Flex Layout, Santa Cruz Pro für Pro Shop und Apollon 11 für Siquando Shop, Templateübersicht & Support für Shop 11 + Pro Web 8)

#3

Kissling

Eroberer  (94 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.vision4d.de

Hallo Thomas,

 

danke für die Antwort.

Aber &para.properties.user.my.parameter funktioniert offensichtlich leider nur wenn man bei "Absätze" "(Alle)" verwendet und mit &paragraph.properties.user.my.parameter hatte ich überhaupt keinen Erfolg.

Das von Ihnen angesprochene PDF kenn ich übrigens bereits. Dort wird jedoch auch nur auf Variablen eingegangen, welche direkt über die config.ccml eines jeweiligen Designs definiert werden Und nicht auf User Variablen die innerhalb des Programmes unter "Benutzerdefinierte erweiterte Eigenschaften" definiert werden können.

Auch kann man damit, glaube ich zumindest, keinen Einfluss auf andere Bereiche ausserhalb des jeweiligen Designs nehmen.

In meinem speziellen Fall versuche ich ein Plugin (Endlos-Slider) um eine Variable zu erweitern, mit dessen Hilfe man Einfluss auf die Breite der seitlichen Vorschau-Bereiche dieses Sliders hat. Hartkodiert über entsprechende Änderungen in der "sqwpluginendless.js" und "SQWPluginEndless.ccml" funktioniert das auch alles bereits wie gewünscht nur hätte ich eben gerne die Möglichkeit das direkt vom SIQUANDO Shop Editor heraus zu steuern.


Dieser Beitrag wurde bereits 3 mal bearbeitet, zuletzt von »Kissling« (09.01.2019, 14:59)
#4

Thomas

Moderator  (2298 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://siquando-designs.de

Das Plugin Endlos-Slider ist nicht separat ansprechbar. Du musst also bei den Absatztypen „Alle“ wählen. Außerdem wird innerhalb der SQWPluginEndless.ccml die Eigenschaft nicht interpretiert werden. PHP kannst du aber verwenden. Den gewünschten Wert übergibst du also im paragraph-Loop innerhalb der page.ccml einer PHP-Variablen, die du dann wiederrum in der SQWPluginEndless.ccml verwenden kannst. Nach <cc:print value="&para.text"> solltest du in der page.ccml die PHP-Variable dann wieder löschen oder auf NULL setzen.


Viele Grüße
Thomas

siquando-designs.de (NEU: KARO Flex Layout, Santa Cruz Pro für Pro Shop und Apollon 11 für Siquando Shop, Templateübersicht & Support für Shop 11 + Pro Web 8)

#5

Kissling

Eroberer  (94 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.vision4d.de

Hallo Thomas,

 

danke für Deine Hilfe.

Ich fürchte aber ich brauche noch ein wenig detailliertere Unterstützung.

 

Mein aktueller Stand:

In der "config.ccml" habe ich folgendes eingetragen:

<cc:property id="design.endlessslider.sidepreview.width" caption="Endless-Slider side preview width" folder="Plugins" targettype="site" type="double" min="0.0" max="2.0" default="1.0">

 

In der "page.ccml" habe ich unmittelbar nach <cc:loop type="paragraph" obj="para"> diese Zeile eingefügt:

<?php $esteaserwidth = "<cc:print value="&site.properties.design.endlessslider.sidepreview.width">";?>

Und nach <cc:print value="&para.text"> kurz vor Ende des Loops noch:

<?php unset($esteaserwidth);?>

 

Und in der "SQWPluginEndless.ccml" habe ich im ersten <div>-Block den folgenden markierten Eintrag hinzugefügt:

<div class="sqwpluginendless" data-height="<cc:print value="height">" data-autochange="<cc:print value="autochange">" data-fontsize="<cc:print value="size">" data-teaserwidth="<?php echo $esteaserwidth;?>" margin-right: 0px; margin-left: 0px;">

 

Dieses "data-teaserwidth" versuche ich dann letzten Endes in der "sqwpluginendless.js" zu verwenden, indem ich es dort abermals einer Variablen "teaserWidth" zuweise:

(function($) {
   'use strict';
   $.fn.sqwPluginEndless = function() {
       $(this).each(function() {
           var that = $(this),
               stage = that.children('.sqwpluginendlessstage'),
               container = stage.children('ul'),
               items = container.children('li'),
               images = container.find('img'),
               height = parseInt(that.attr('data-height'))-20,
               overlay = that.children('.sqwpluginendlessoverlay'),
               nextLink = overlay.children('.sqwpluginendlessnav:last'),
               nextCaption = nextLink.children('span'),
               prevLink = overlay.children('.sqwpluginendlessnav:first'),
               prevCaption = prevLink.children('span'),
               currentLink = overlay.children('.sqwpluginendlesscurrent'),
               currentCaption = currentLink.children('span'),
               autoChange = parseInt(that.attr('data-autochange')),
               fontSize = parseInt(that.attr('data-fontsize')),
               timeOutA, timeOutB, timeOutAuto,
               bulletsContainer = that.children('.sqwpluginendlessbullets'),
               bullets,
               current = 0,
               teaserWidth = parseFloat(that.attr('data-teaserwidth'));

 

Funktionieren tut es leider nicht.

Also was mache ich falsch?

Ich vermute ja der Fehler liegt in der Art wie ich versuche die Variable in der "SQWPluginEndless.ccml" zuzuweisen.

 


Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »Kissling« (11.01.2019, 15:38)
#6

Thomas

Moderator  (2298 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://siquando-designs.de

Ich dachte du möchtest eine erweiterte Absatz-Eigenschaft erstellen und keine globale? (Denn das unset() macht bei einer globalen Variable wenig Sinn.) Was steht im generierten Quelltext? Wird das data-Attribut korrekt ausgefüllt? Was gibt console.log(teaserWidth); innerhalb der each Funktion in der Browser-Konsole zurück?


Viele Grüße
Thomas

siquando-designs.de (NEU: KARO Flex Layout, Santa Cruz Pro für Pro Shop und Apollon 11 für Siquando Shop, Templateübersicht & Support für Shop 11 + Pro Web 8)

#7

Kissling

Eroberer  (94 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.vision4d.de

Ja, ich hatte es der Einfachkeit halber dann doch noch mal global versucht.

Aber ich habe es jetzt auch für Absätze (Paragraphen) hinbekommen.

 

Vielen Dank nochmal für Deine Hilfe! 👍 Das Thema kann geschlossen werden.


Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »Kissling« (14.01.2019, 12:05)
#8

Thomas

Moderator  (2298 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://siquando-designs.de

837 Aufrufe | 8 Beiträge