Deutschland United States United Kingdom
ContentLion - Open Source CMS

Neuer Skin, ein paar Fragen und Feedback

Neuer Skin, ein paar Fragen und Feedback

Ich war ja vor längerer Zeit schon mal hier und hab ein paar Fragen gestellt.

Ich habe inzwischen ein Skin komplett fertig auf ContentLion portiert. Ihr könnt euch das gerne mal ansehen:

http://publishy.ch auf http://publishy.ch/testseite.html könnt ihr sehen, das das Lokale Menü nur dann eingeblendet wird, wenn es Tatsächlich existiert (ziemlich stolz bin). Ich werde das Theme in den nächsten paar Tagen auch gerne der Community als Paket zur Verfügung stellen.

Nehme jederzeit auch Feedback dazu zur Kenntnis.

Nun noch ein paar Fragen, ich habe einige Dinge beim Theme wahrscheinlich nicht so gemacht wie man es machen sollte ;)

Wenn ich im Adminbereich einer Seite Meta keywords oder beschriebung hinzufüge finde ich die im Quelltext nicht. Was brauch ich dazu im Theme? Der Header Bereich schaut bei mir so aus:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
    <head>
    <?PHP
    sys::includeHeader();
    ?>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="<?PHP echo sys::getFullSkinPath(); ?>styles/elegant-press.css" type="text/css" />
    <script src="<?PHP echo sys::getFullSkinPath(); ?>scripts/elegant-press.js" type="text/javascript"></script>
    <!--[if IE]><style>#header h1 a:hover{font-size:75px;}</style><![endif]-->
    </head>


Nun zum merkwürdigeren Teil. Das Design zeigt bei jeder Seite an, an welchem Tag, in welchem Monat und in welchem Jahr die Seite zuletzt bearbeitet wurde. Da der Timestamp nicht standardmässig von CL ausgelesen wird musste ich da etwas basteln. Es ist definitv keine saubere Lösung darum würde ich mich über Feedback freuen, wie man es besser machen kann.

Nachfolgend meine Lösung:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    ###Datenbank Setup Datei einbinden, um die MYSQL variabeln griffbereit zu haben //Das ganze wird hfftl mit einer neuen Version CL abgeschafft.
    include './system/dbsettings.php';

    ###Verbindung zur DB herstellen, Timestamp der aktuellen Seite auslesen und Template gerecht formatieren
    $pageid Page::Current()->id;

    $connection mysql_connect($dbhost$dbuser$dbpassword) or die ("Verbindungsversuch fehlgeschlagen");
    mysql_select_db($db$connection) or die("Konnte die Datenbank nicht wählen.");

    //Timestamp auslesen
    $sqlstatement "SELECT * FROM ".$dbpraefix."pages WHERE id = ".$pageid."";

    $ergnis mysql_query($sqlstatement);
    $daten mysql_fetch_row($ergnis);

    $timestamp $daten[9];
    //Den Timestamp formatieren
    $timestamp strtotime($timestamp);


und die Ausgabe:

PHP-Quelltext

1
<p><div><div class="date"><span class="day"><?PHP echo date('d'$timestamp); ?></span> <span class="month"><?PHP echo date('M'$timestamp); ?></span> <span class="year"><?PHP echo date('Y'$timestamp); ?></span></div>


Nun eine weitere Frage oder eher ein Feature Request. Datenbank und Contentmanagement stehen eigentlich schon. Warum gibt es noch keine Suchmöglichkeit? Gerade bei grösseren Seiten könnte das von Vorteil sein, ausserdem habe ich eine schöne Suchmaske im Theme die ich nun ausklammern musste ;)

Das war es vorerst von mir ;)

kim88
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Das Thema Suche steht schon auf unserer Agenda.
Du wirst also deine Klammern nicht ewig im Quellcode versauern
lassen müssen. ^^

Gruß
Daniel

Ist dir echt gut gelunden!

Wegen den Meta-Tag, kannst dort mal schauen, was in der tabelle meta_local steht?

Das mit den MEtatags hat sich erledigt, man sollte speichern bevor man nachschauen geht oO

Gibt es irgendwo ne Doku wie man die MySQL Klasse einsetzt? oder kannst du hier nen kurzes Tut posten?
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Cool Danke hat geholfen, damit hab ich mir 17 Zeilen Code und eine ganze Datei für meine Skins gespart ;)
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Vorher:
functions.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?PHP
###Datenbank Setup Datei einbinden, um die MYSQL variabeln griffbereit zu haben //Das ganze wird hfftl mit einer neuen Version CL abgeschafft.
include './system/dbsettings.php';

###Verbindung zur DB herstellen, Timestamp der aktuellen Seite auslesen und Template gerecht formatieren
$skin_publishy_pageid Page::Current()->id;
$skin_publishy_connection mysql_connect($dbhost$dbuser$dbpassword) or die ("Verbindungsversuch fehlgeschlagen");
mysql_select_db($db$skin_publishy_connection) or die("Konnte die Datenbank nicht wählen.");

//Timestamp auslesen
$skin_publishy_sqlstatement "SELECT * FROM ".$dbpraefix."pages WHERE id = ".$skin_publishy_pageid."";
$skin_publishy_result mysql_query($skin_publishy_sqlstatement);
$skin_publishy_daten mysql_fetch_row($skin_publishy_result);
$skin_publishy_timestamp $skin_publishy_daten[9];

//Den Timestamp formatieren
$skin_publishy_timestamp strtotime($skin_publishy_timestamp);
?>


Nachher direkt in der Index:

PHP-Quelltext

1
2
$skin_publishy_timestamp DataBase::Current()->ReadField("SELECT update_timestamp FROM {'dbprefix'}pages WHERE id = '".Page::Current()->id."'");
$skin_publishy_timestamp strtotime($skin_publishy_timestamp);


;)
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Ahh, der Update-Timestamp wird noch nicht ausgelesen, oder? müssen wir dann bald mal einbauen, dann kannst dir den Query sparen.

Genau das war das Problem ;)
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Ähnliche Themen