+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Parameter an Javascript übergeben

  1. #1
    Neu an Board
    Registriert seit
    19.06.2011
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Parameter an Javascript übergeben

    Hallo zusammen,

    Ich habe mir ein Modul für eine Slideshow zusammmengebastelt. Funktioniert auch alles wie es soll, allerdings gibt es zwei Punkte an denen ich nicht ohne eure Hilfe weiterkomme.

    1. Ich möchte gern das Parameter die im Module manager (in der xml-Datei) definiert werden:
    PHP-Code:
    <param name="caption" type="list" default="true" label="Show caption:" description="Show caption">
                <
    option value="true">Yes</option>
                <
    option value="false">No</option
    </
    param
    also in diesem Fall "Caption" mit dem Wert "true" oder "false" an die Javascriptdatei die diese Werte verarbeitet übergeben wird (Die Javascript-Datei "slideshow.js" befindet sich im Ordner "js" des Modulordners):

    HTML-Code:
    Slideshow.Settings = {
    
    
        fade        : true,
    
        caption     : true, 
    
                           .........} 
    Wie kann ich die Parameter aus php in die javascript-Datei einfügen. Mir fehlt da der passende Javascript Code?


    Der zweite Punkt an dem ich nicht weiterkomme betrifft das Einbinden der Javascript-Datei im Headbereich der Template index.php.
    Wenn ich den Aufruf direkt in die index.php schreibe funzt es tadellos.
    Da ich jedoch möchte, dass die Datei nur aufgerufen wird wenn das Modul verwendet wird, habe ich in die "default.php" des Moduls folgenden Code geschrieben:

    PHP-Code:
    $document =& JFactory::getDocument();
    $document->addScript(JURI::root().'modules'.DS.'mod_slideshow'.DS.'js'.DS.'slideshow.js'); 
    Der Code funktioniert insoweit das die Verknüpfung in den headbereich geschrieben wird,
    aber der javascript selber wird trotzdem nicht ausgeführt.

    Wenn mir damit jemand weiterhelfen könnt wär das echt klasse.

    Viele Gruesse

    Webberry

  2. #2
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    Aus dem Stand, nicht getestet:

    PHP-Code:
    $jsoptions = Array(
        
    'fase' => $params->get('fade''true'),
        
    'caption' => $params->get('caption''true')
    );

    $script '
    /* <![CDATA[ */
        var settings = ' 
    json_encode($jsoptions) . ';
    /* ]]> */
    '
    ;

    JFactory::getDocument()->addScriptDeclaration($script);

    JFactory::getDocument()->addScript('modules/mod_slideshow/slideshow.js'); 
    HTML-Code:
    // Hier eventuell noch JSON.evaluate oder JSON.decode je nach Mootools Version, schaetze ich,...
    Slideshow.Settings = settings;
    Geändert von Matrikular (29.06.2011 um 17:42 Uhr)

  3. #3
    Neu an Board
    Registriert seit
    19.06.2011
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    @matrikular: Danke für Deine Antwort


    [/PHP]
    JFactory::getDocument()->addScript('modules/mod_slideshow/slideshow.js');
    [/PHP]
    Das funzt auch nicht. Wird zwar nach wie vor in den head-Bereich geschrieben, aber nicht ausgeführt.

    // Hier eventuell noch JSON.evaluate oder JSON.decode je nach Mootools Version, schaetze ich,...
    Code:
    Slideshow.Settings = settings;
    Da werd ich auch nicht richtig schlau raus. Wie kann ich jetzt die Parameter "true" oder "false" an den Javascript übergeben?


    Gruss Webberry

  4. #4
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    bei dir liegt das script auch noch in einem js unterverzeichnis oder?
    das true oder false steht in settings drin,...

    wie das script welches du einbinden willst funktioniert ist dir bekannt?
    nicht kopieren und einfuegen sondern anhand des beispiels schauen wo der unterschied zu dem liegt was du versucht hast.

  5. #5
    Neu an Board
    Registriert seit
    19.06.2011
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich habe versucht aus dem Beispiel schlau zu werden und ich weiss auch das die Parameters in settings stecken, aber das wars dann auch. In php wäre es auch kein Problem für mich. Na gut, ich werde noch ein bißchen rumprobieren.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein