News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 12
Seite [1]
herrherrmann


Rock the board




Herkunft: Berlin
Beiträge: 84
# Thema - 23.09.2010 um 13:34 Uhr
Hallo Menschen,

möchte meine Newstitel in der recent-Ansicht verlinken, sodass sie zur Kommentar-/Einzelansicht (action=view&id=x) des Newsbeitrags führen.
Am coolsten wäre es natürlich, wenn hierfür ein neuer Platzhalter namens z.b. {link:news_headline} erstellt wird, der dann eben den Titel samt Hyperreferenz ausgibt.

Außerdem (und das wurde auch schon mal angesprochen) würde ich gerne die Zeitangabe in der recent-Ansicht anpassen können, sodass sie nicht immer "dd.mm.yyyy um hh:mm Uhr" lauten muss. Wenn ich das richtig verstehe, wird diese Angabe über den Server selbst geliefert, oder?
Ich würde Datum und Zeit einfach gerne einzeln haben und positionieren können, das müsste doch möglich sein.

Wie immer vielen Dank im Voraus!


------------------
bastArt
Inaktiv
reVerB


Geekboy




Beiträge: 1237
# Antwort: 1 - 23.09.2010 um 15:26 Uhr
Zum 1.:
Füge in der Datei "mods > news > recent.php" zwischen Zeile 75 und 87 irgendwo folgende Zeile ein:
 
1.
1. / 2. / ... 
 $cs_news[$run]['news_openlink'] = cs_link(cs_secure($cs_news[$run]['news_headline']), 'news''view''id=' $cs_news[$run]['news_id']);


Danach kannst du in der recent.tpl im Ordner "themes > base > news" den Platzhalter:
{news:news_openlink}

verwenden.

Zum 2.:
Diese Formatierung wird über die Funktion cs_date() übernommen. Entweder muss die Funktion umgeschrieben werden, oder man schreibt eine eigene Funktion, die diese Daten vielleicht sogar als Array zurückliefert z.B. Hour,Minute,Day,Month,Year. Diese Daten kann man dann nachher in eigene Platzhalter in der recent PHP separat formatieren. Leider fehlt mir dazu gerade die Zeit, da das etwas fummeliger ist als die andere Sache ^^

Aber vielleicht kann da ja einer der anderen Kollegen helfen.


Inaktiv
|
herrherrmann
Thread-Ersteller


Rock the board




Herkunft: Berlin
Beiträge: 84
# Antwort: 2 - 23.09.2010 um 16:03 Uhr
Danke dir schonmal, reVerB! (Wie kommst du eigentlich auf die Bezeichnung "openlink"?)

Update:
Ok, funktioniert fast perfekt. Leider werden die Sonderzeichen auf diese Weise nicht mehr richtig dargestellt, an der Stelle tritt HTML-Quelltext hervor (ä und solche Späße).
Was kann man dagegen unternehmen?


------------------
bastArt

Zuletzt editiert von bastman am 23.09.2010 um 16:56 Uhr (2x Editiert)
Inaktiv
|
reVerB


Geekboy




Beiträge: 1237
# Antwort: 3 - 23.09.2010 um 17:23 Uhr
Danke dir schonmal, reVerB! (Wie kommst du eigentlich auf die Bezeichnung "openlink"?)

Ich habe mich verlesen und dachte, das news_link schon vergeben war. Deswegen habe ich eine schnelle Alternative gesucht. ^^

Ich denke es liegt an der Linkfunktion von CSP. Denn die Headline läuft selber durch die cs_secure Funktion für die Überschrift. und die wird angezeigt. Du kannst es theoretisch so machen:
 
1.
1. / 2. / ... 
 $cs_news[$run]['news_openlink'] = cs_url('news''view''id=' $cs_news[$run]['news_id']);

In der Themedatei kannst du dann das ganze so machen:
<a href="{news:news_openlink}" title="{news:news_headline}">{news:news_headline} </a>

Dann sollte das ganze ohne Probleme gehen.


Inaktiv
|
herrherrmann
Thread-Ersteller


Rock the board




Herkunft: Berlin
Beiträge: 84
# Antwort: 4 - 23.09.2010 um 17:59 Uhr
Stimmt, das ist natürlich die elegantere und flexiblere Lösung!
Danke dir, so klappt alles.

Bleibt nur noch mein Zeitangabeproblem!


------------------
bastArt

Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 5 - 23.09.2010 um 18:52 Uhr
Probier mal:
 
1.
1. / 2. / ... 
  $cs_news[$run]['news_time'] = cs_date('unix'$cs_news[$run]['news_time'], 1);


zu ersetzen durch
 
1.
2.
1. / 2. / ... 
 $cs_news[$run]['news_date'] = cs_date('unix'$cs_news[$run]['news_time'], 0);
  
$cs_news[$run]['news_time'] = cs_date('unix'$cs_news[$run]['news_time'], 1,0,1);


{news:news_date} enthält dann das Datum & {news:news_time} die Zeit.

lG


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Zuletzt editiert von Tom08 ClanSphere Team am 23.09.2010 um 19:21 Uhr (1x Editiert)
Inaktiv
|
herrherrmann
Thread-Ersteller


Rock the board




Herkunft: Berlin
Beiträge: 84
# Antwort: 6 - 23.09.2010 um 19:13 Uhr
Geht schon in die richtige Richtung. Da sich allerdings noch nichts an der zweiten Zeile ändert, wird mit {news:news_time} immer noch Datum+Uhrzeit ausgegeben.

Danke, tom08!

Update:
Alles klar, mit ein bisschen rumprobieren habe ich's rausbekommen. Die Zeilen müssen also lauten:
 
1.
2.
1. / 2. / ... 
 $cs_news[$run]['news_date'] = cs_date('unix'$cs_news[$run]['news_time'], 0);
  
$cs_news[$run]['news_time'] = cs_date('unix'$cs_news[$run]['news_time'], 1,0,1);


Somit gibt {news:news_date} nur das Datum und {news:news_time} nur die Uhrzeit aus!


------------------
bastArt

Zuletzt editiert von bastman am 23.09.2010 um 19:20 Uhr (3x Editiert)
Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 7 - 23.09.2010 um 19:18 Uhr
Warum auch immer das bei dir news_date heißt, bei mir & im Trac heißt das news_time ...
Egal ..

Wennn es jetzt funktionierrt, ist ja alles gut ^^

/e: Oh verdammt, du hast recht.
Hab' den Fehler bei mir oben korrigiert.

lG


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Zuletzt editiert von Tom08 ClanSphere Team am 23.09.2010 um 19:21 Uhr (1x Editiert)
Inaktiv
|
herrherrmann
Thread-Ersteller


Rock the board




Herkunft: Berlin
Beiträge: 84
# Antwort: 8 - 23.09.2010 um 19:20 Uhr
Hast natürlich recht, hab's oben korrigiert.


------------------
bastArt

Inaktiv
|
reVerB


Geekboy




Beiträge: 1237
# Antwort: 9 - 23.09.2010 um 19:32 Uhr
Ach das kann man einfach über die hinteren Parameter regeln? Hätt ich das gewusst


Inaktiv
|
herrherrmann
Thread-Ersteller


Rock the board




Herkunft: Berlin
Beiträge: 84
# Antwort: 10 - 23.09.2010 um 21:25 Uhr
23.09.2010 um 19:32 Uhr - reVerB:
Ach das kann man einfach über die hinteren Parameter regeln? Hätt ich das gewusst

Hab's ja auch nur durch Rumprobieren hinbekommen. Steht aber bestimmt auch irgend wo beschrieben, weil da ja eventuell ein System dahintersteckt. ^^


------------------
bastArt

Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 11 - 23.09.2010 um 22:09 Uhr
API Referenz:
http://www.csphere.eu/api/

Gegebenenfalls dann halt noch in den betreffenden Dateien nachgucken.


lG


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Zuletzt editiert von Tom08 ClanSphere Team am 23.09.2010 um 22:10 Uhr (1x Editiert)
Inaktiv
|
herrherrmann
Thread-Ersteller


Rock the board




Herkunft: Berlin
Beiträge: 84
# Antwort: 12 - 24.09.2010 um 11:34 Uhr
Tatsache, unter cs_date ist's erklärt:
cs_date (line 114)
void cs_date ( $mode, $data, [ $show_time = 0], [ $show_date = 1], [ $format = 0])
* $mode
* $data
* $show_time
* $show_date
* $format


Von daher ist es auch unnötig, einen Parameter 0* für "format" zu übergeben, die Zeilen für meine Anwendung könnten auch lauten:
 
1.
2.
1. / 2. / ... 
  $cs_news[$run]['news_date'] = cs_date('unix'$cs_news[$run]['news_time'], 0,1);
  
$cs_news[$run]['news_time'] = cs_date('unix'$cs_news[$run]['news_time'], 1,0);



*1 liefert hierbei immer nur eine "1" als Ausgabe. Keine Ahnung, was diese Angabe darstellen soll.


------------------
bastArt

Zuletzt editiert von bastman am 24.09.2010 um 11:40 Uhr (4x Editiert)
Inaktiv
|
Antworten: 12
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo