JQuery Mobile Themes in conf.inc.php global definieren

Bitte alle templatebezogenen Beiträge in diesem Forum veröffentlichen.
Post Reply
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

JQuery Mobile Themes in conf.inc.php global definieren

Post by santscho »

Im JQuery Moible framework lassen sich in der CSS bis zu 26 Template-Stile (themes) definieren. Diese werden nach dem Alphabet benannt (a-z)

Jedem Element des Framework kann separat ein theme (a-z) zugeordnet werden. Eine typische JQM-Seite mit zugeordneten themes sieht vereinfacht so aus:

Code: Select all

<div data-role="page" data-theme="c">

	<div data-role="header" data-theme="a">
		<h1>Page Title</h1>
	</div><!-- /header -->

	<div data-role="content">	
		<ul data-role="listview" data-theme="d">
                <li>Blablabla
               </ul>
	</div><!-- /content -->
	<div data-role="footer" data-theme="a">
		<h4>Page Footer</h4>
	</div><!-- /footer -->
</div><!-- /page -->
Jetzt würde ich gerne alle Seiten-Templages und CP-Templates so aufbauen, dass die themes jeweils dynamisch aus der conf-inc.php rausgelesen werden. Ich stelle mir das etwas so vor:

Code: Select all

<div data-role="page" {PAGETHEME}>

	<div data-role="header" {HEADERTHEME}>
		<h1>Page Title</h1>
	</div><!-- /header -->

	<div data-role="content">	
		<ul data-role="listview" {LISTTHEME}>
                <li>Blablabla
               </ul>
	</div><!-- /content -->
	<div data-role="footer" {FOOTERTHEME}>
		<h4>Page Footer</h4>
	</div><!-- /footer -->
</div><!-- /page -->
in der conf.inc.php bräuchte ich etwas, das ungefähr so aussieht:

Code: Select all

// jquery mobile themes
$phpwcms['PAGETHEME']      = a; //theme (a-z)
$phpwcms['HEADERTHEME']      = c; //theme (a-z)
$phpwcms['BUTTONTHEME']      = b; //theme (a-z)
$phpwcms['LISTTHEME']      = a; //theme (a-z)
$phpwcms['LISTDIVIDERTHEME']      = c; //theme (a-z)
$phpwcms['FOOTERTHEME']      = a; //theme (a-z)
im Frontend sollte dann phpwcms die entsprechenden themes generieren.
Aus

Code: Select all

{FOOTERTHEME}
wird

Code: Select all

datatheme="a"
Wäre das einfach zu bewerkstelligen oder soll ich besser mit eiem Frontend-Renderscript arbeiten (Ersetzer)?
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: JQuery Mobile Themes in conf.inc.php global definieren

Post by santscho »

Was ich mir auch vorstellen könnte: die Template-Zuordnungen in der mysql-databank abzulegen und dann in den templates so aufzurufen:

Code: Select all

data-theme="<?php echo $row_getThemes['page']; ?>"
Kann ich einfach Werte aus der DB saugen (ist "required once" auch für custom-Anfragen offen?) oder muss ich jedesmal zuerste eine Verbindung zur DB herstellen?
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: JQuery Mobile Themes in conf.inc.php global definieren

Post by juergen »

Die Variable ist vermutlich nicht belegt, du musst vorher eine query in deiner Tabelle laufen lassen, die benutzte DB ist aber schon verbunden.
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: JQuery Mobile Themes in conf.inc.php global definieren

Post by santscho »

Ich habe es jetzt mit einem Frontend-Renderscript geloest:

Code: Select all

<?php
// Building Templates for JQuery Mobile Framework
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); }
// ----------------------------------------------------------------


        $_themepage = 'data-theme="a"';
        $_themeheader = 'data-theme="b"';
        $_themefooter = 'data-theme="c"';
        $_themetoolbar = 'data-theme="d"';
        $_themebuttons = 'data-theme="e"';
        $_themecontent = 'data-theme="f"';
        $_themeforms = 'data-theme="g"';
        $_themelist = 'data-theme="h"';
        $_themelistdivider = 'data-theme="i"';

        $content['all'] = str_replace( '{THEME_PAGE}', $_themepage, $content['all'] );
        $content['all'] = str_replace( '{THEME_HEADER}', $_themeheader, $content['all'] );
        $content['all'] = str_replace( '{THEME_FOOTER}', $_themefooter, $content['all'] );
        $content['all'] = str_replace( '{THEME_TOOLBAR}', $_themetoolbar, $content['all'] );
        $content['all'] = str_replace( '{THEME_BUTTONS}', $_themebuttons, $content['all'] );
        $content['all'] = str_replace( '{THEME_CONTENT}', $_themecontent, $content['all'] );
        $content['all'] = str_replace( '{THEME_FORMS}', $_themeforms, $content['all'] );
        $content['all'] = str_replace( '{THEME_LIST}', $_themelist, $content['all'] );
        $content['all'] = str_replace( '{THEME_LISTDIVIDER}', $_themelistdivider, $content['all'] );

?>
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
kukki
Posts: 1709
Joined: Mon 7. Feb 2005, 20:02
Location: Berlin Köpenick
Contact:

Re: JQuery Mobile Themes in conf.inc.php global definieren

Post by kukki »

Bei heutigen Stöbern (mir ging mobile auf die Ketten, also mal was anderes lesen) bin ich hier hängengeblieben. Gibt es eine Fortsetzung davon oder ist es bei Deiner tollen Idee geblieben? :roll:
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: JQuery Mobile Themes in conf.inc.php global definieren

Post by santscho »

Hallo Kuki. Habe nichts geändert. Funktioniert so wunderbar.
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: JQuery Mobile Themes in conf.inc.php global definieren

Post by Oliver Georgi »

santscho wrote:Was ich mir auch vorstellen könnte: die Template-Zuordnungen in der mysql-databank abzulegen und dann in den templates so aufzurufen:

Code: Select all

data-theme="<?php echo $row_getThemes['page']; ?>"
Kann ich einfach Werte aus der DB saugen (ist "required once" auch für custom-Anfragen offen?) oder muss ich jedesmal zuerste eine Verbindung zur DB herstellen?
Die DB ist immer geöffnet, also nicht neu aufmachen. Neueres Release unterstützt _dbSwitch(). Gestattet auf gleichem DB-Server, die Datenbank zu wechseln.

Code: Select all

_dbSwitch('myotherdb');
_dbSwitch(); // default again
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Post Reply