+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Zugriff auf Modulparameter von Komponenten aus?

  1. #1
    Kommt häufiger vorbei Avatar von Torsten.E
    Registriert seit
    04.02.2012
    Ort
    Allgäu
    Alter
    53
    Beiträge
    364
    Bedankte sich
    33
    Erhielt 10 Danksagungen
    in 10 Beiträgen

    Standard Gelöst: Zugriff auf Modulparameter von Komponenten aus?

    Ich muß von einer Komponente aus die Parameter eines Modules abfragen.
    Hier ist ja ein gut Lösung: http://www.themepartner.com/blog/56/...te-parameters/

    Hier der entsprechende Ausschnitt (funktioniert bei mir leider nicht):
    PHP-Code:
    ...
    $module JModuleHelper::getModule('banners');
    $moduleParams = new JRegistry();
    $moduleParams->loadString($module->params);
    $param $moduleParams->get('paramName''defaultValue');
    ... 
    ABER:
    Ich kann ja das Modul auch kopieren, dann hat jede Modul-Kopie ihre eigenen Parameter und deshalb ist das o.g. nicht die optimale Lösung.

    Zum Umfeld:
    Ich rufe aus dem Modul heraus per Ajax eine Komponente auf. D.h. ich könnte z.B. die ID des Modules etc. per Ajax mitliefern. Die Modul-Parameter
    will ich nicht per Ajax mitliefern, da diese sonst im HTML-Code sichtbar sind und das geht nicht (z.B. E-Mail Adresse).

    D.h. ich bräuchte praktisch die ID des Modules, die könnte ich per Ajax mitliefern. Danach über eine Abfrage ähnlich der oben gezeigten die Parameter
    des Modules einlesen, nur wie ?

    Torsten.E
    Geändert von Torsten.E (14.04.2014 um 06:39 Uhr)

    Für folgende Themen bereit: JavaScript, Joomla, jQuery, MySQL, PHP, Typo3, Zikula, HTML5, WebApps


  2. #2
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.847
    Bedankte sich
    85
    Erhielt 2.275 Danksagungen
    in 1.938 Beiträgen

    Standard

    Grundsätzlich ist es nicht vorgesehen Modulparameter außerhalb des Moduls bzw. des Templates zu verwenden. Dein Lösung ist also alles andere als "best practice". Mir allerdings auch nicht zu 100% klar, was du damit genau anstellen möchtest. Möglich ist es natürlich dennoch, beispielsweise so:

    PHP-Code:
    $module_id JFactory::getApplication()->input->getInt('module_id'0);

    $params getModuleParamsById($module_id);

    function 
    getModuleParamsById($id)
    {
       
    $db JFactory::getDbo();

       
    $query $db->getQuery(true);
       
    $query->select('params')->from('#__modules')->where('id = '. (int) $id);
       
    $db->setQuery($query);
       
    $params $db->loadResult();

       
    $registry = new JRegistry;
       
    $registry->loadString($params);

       return 
    $registry;

    oder so...

    PHP-Code:
    $module_id JFactory::getApplication()->input->getInt('module_id'0);

    $module getModuleById($module_id);
    var_dump($module->params);

    function 
    getModuleById($id)
    {
       
    $db JFactory::getDbo();

       
    $query $db->getQuery(true);
       
    $query->select('*')->from('#__modules')->where('id = '. (int) $id);
       
    $db->setQuery($query);
       
    $module $db->loadObject();

       if (!
    is_object($module))
       {
          
    $module = new JObject();
       }

       
    $registry = new JRegistry;
       if (
    proberty_exists($module'params'))
       {
           
    $registry->loadString($module->params);
       }
       
    $module->params $registry;

       return 
    $module;

    Das Fehlermanagement überlasse ich denjenigen, die es können.

  3. #3
    Gehört zum Inventar Avatar von deejey
    Registriert seit
    22.04.2006
    Ort
    HH
    Beiträge
    9.829
    Bedankte sich
    706
    Erhielt 1.916 Danksagungen
    in 1.683 Beiträgen

    Standard

    Scheint zu spät zu sein, ThemePartner hat den Betrieb eingestellt


    @ecomeback du Sack, schön dich wiederzusehen ...
    Kein Support über PM; Ignoriermodus aktiv bei "dringend", "schnell", "eilt", denn: Zeit ist relativ

  4. #4
    Kommt häufiger vorbei Avatar von Torsten.E
    Registriert seit
    04.02.2012
    Ort
    Allgäu
    Alter
    53
    Beiträge
    364
    Bedankte sich
    33
    Erhielt 10 Danksagungen
    in 10 Beiträgen

    Standard

    "Au Backe" - meine Anfrage ist ein Jahr alt, jetzt weis ich gar nicht mehr was ich damals machen wollte.

    Für folgende Themen bereit: JavaScript, Joomla, jQuery, MySQL, PHP, Typo3, Zikula, HTML5, WebApps


  5. Erhielt Danksagungen von:


+ Antworten

Berechtigungen

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