+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Menüeintrag Komponentenparameter

  1. #1
    Neu an Board Avatar von techservice
    Registriert seit
    21.10.2009
    Ort
    Augsburg
    Alter
    43
    Beiträge
    50
    Bedankte sich
    4
    Erhielt 11 Danksagungen
    in 10 Beiträgen

    Standard Menüeintrag Komponentenparameter

    Hallo, ich habe eine Komponente erstellt die im Backend eine config.xml für die Parameter hat.

    Die Komponente hat 5 Views die im Menü ausgewählt werden können. Wenn ich einen View als Menüpunkt anlege kommen dort immer die Parameter als Komponentenparameter aus der Config.xml.

    Ändere ich einen der Parameter in der Komponente, wird dieser nicht im Menüpunkt übernommen.
    Ändere ich einen der Parameter im Menüpunkt, kommt die Einstellung.

    Gibt es eine Möglichkeit die Anzeige der Komponentenparameter zu unterdrücken? so das nur in der Komponente selbst die Parameter gesetzt werden können.

    Oder muss ich das mit Overriedes im View lösen und für jeden Menüpunkt eine default.xml einsetzten?
    Kann ich dann die config.xml löschen ?


    Gibt es evtl. eine elegantere Lösung ?


    Joomla 1.5.22
    Geändert von techservice (11.08.2011 um 07:43 Uhr)
    www.pc-techservice.de
    wenn ich was nicht weiss muss ich wissen wo es steht...

  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

    http://docs.joomla.org/Component_parameters - that's pretty much it.
    Am besten von Anfang an lesen. Ab Punkt 5. wird es für dich / euch interessant.

    The Front-end situation is a bit more complex than the Back-end. The 'standard' way to deal with parameters in the Front-end is to set up a cascade of overrides, as described above:

    Item-specific overrides Menu-specific overrides Component-default
    Hinweis:
    Die Anleitung beschreibt wie man Parameter einer Komponente nutzt, nicht aber wie man sie in einem Menüpunkt verbirgt. Nun, nehmen wir an die Parameter werden wie gewohnt eingebunden.
    PHP-Code:
    //
    JToolBarHelper::preferences('com_COMPONENT_NAME'); 
    Durch den Button lassen sich die Parameter in der bekannten Lightbox öffnen.
    Wenn man sich jetzt die preference-Methode genauer anschaut fällt auf, dass insgesamt 5 Parameter übergeben werden können, von denen nur der erste ein Pflicht-Parameter ist.
    PHP-Code:
        /**
         * Writes a configuration button and invokes a cancel operation (eg a checkin)
         * @param    string    The name of the component, eg, com_content
         * @param    int        The height of the popup
         * @param    int        The width of the popup
         * @param    string    The name of the button
         * @param    string    An alternative path for the configuation xml relative to JPATH_SITE
         * @since 1.0
         */
        
    function preferences($component$height='150'$width='570'$alt 'Preferences'$path '')
        {
            
    $user =& JFactory::getUser();
            if (
    $user->get('gid') != 25) {
                return;
            }

            
    $component    urlencode$component );
            
    $path        urlencode$path );
            
    $bar = & JToolBar::getInstance('toolbar');
            
    // Add a configuration button
            
    $bar->appendButton'Popup''config'$alt'index.php?option=com_config&controller=component&component='.$component.'&path='.$path$width$height );
        } 
    Gibt man hier einen alternativen Pfad, ausgehend von JPATH_SITE an, lässt sich dadurch eine Datei wie beispielsweise "settings.xml" laden. Der Aufbau und Inhalt der Datei ist der Gleiche wie für die config.xml.

    PHP-Code:
    //
    JToolBarHelper::preferences('com_COMPONENT_NAME''380''570''Preferences''administrator' DS 'com_COMPONENT_NAME' DS 'settings.xml'); 
    Dadurch das keine config.xml mehr existiert, können auch keine Parameter bei der Erstellung eines Menüeintrags aus der Datei gelesen werden, während die Parameter für die Komponente weiterhin über den Button aufgerufen und bearbeitet werden können.
    Kurz: Alternative xml-Datei erstellen oder die config.xml umbenennen.

    Sollte man keine Basisparameter benötigen, kann man die unschöne Darstellung des gleichnamigen Sliders über eine LAYOUT_NAME.xml innerhalb des tmpl-Verzeichnisses hübscher gestalten.
    Hier am Beispiel der com_weblinks ohne <url /> Tag:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <metadata>
    	<layout title="Single Weblink Layout">
    		<message>
    			<![CDATA[This layout shows a single weblink.]]>
    		</message>
    	</layout>
    	<state>
    		<name>Weblink Layout</name>
    		<description>This layout shows a single weblink.</description>
    		<params>
    		</params>
    	</state>
    </metadata>
    Zwischenablage-1.jpg

    mit <url /> Tag:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <metadata>
    	<layout title="Single Weblink Layout">
    		<message>
    			<![CDATA[This layout shows a single weblink.]]>
    		</message>
    	</layout>
    	<state>
    		<name>Weblink Layout</name>
    		<description>This layout shows a single weblink.</description>
    		<params />
    		<url />
    	</state>
    </metadata>
    Zwischenablage-2.jpg

    Allgemeine Informationen:
    http://docs.joomla.org/Adding_view_l...ion_parameters

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board Avatar von techservice
    Registriert seit
    21.10.2009
    Ort
    Augsburg
    Alter
    43
    Beiträge
    50
    Bedankte sich
    4
    Erhielt 11 Danksagungen
    in 10 Beiträgen

    Standard Danke

    Super , das war genau was ich gesucht habe. Jetzt gibt es nur eine Konfiguration über die Komponente.

    Herzlichen Dank
    www.pc-techservice.de
    wenn ich was nicht weiss muss ich wissen wo es steht...

+ Antworten

Stichworte

Lesezeichen

Berechtigungen

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