Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Overriding flexinode 'date/time' (timestamp) field

Eingetragen von Poldrack (288)
am 28.06.2006 - 21:04 Uhr in
  • Module

Hi, habe laut der Anleitung auf drupal.org mein flexinode-feld "date/time" gethemt

-> http://drupal.org/node/17455

Funktioniert soweit auch prima. Nur wenn ich die Listenansicht benutze

also:

flexinode/table/x

erscheint das feld nach wie vor mit datum UND zeit. ich brauche jedoch nur das datum und die zeit stört ungemein. Umsteigen hinsichtlich der datumsangabe auf einen anderen feld-type (zB text-feld) möchte ich jedoch auch nicht, da ich zwingend die sortierfunktion hinsichtlich des datums benötige.

Habt Ihr da Ideen?

‹ Book export (Druckversion) Einen Flexinode-Inhaltstyp "Superstatik" mit passendem Template erstellen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Poste bitte den Code Deines

Eingetragen von quiptime (4972)
am 29.06.2006 - 14:09 Uhr

Poste bitte den Code Deines Template, mit dem Du

Frugol schrieb

mein flexinode-feld "date/time" gethemt

hast.

Offensichtlich hast Du da etwas nicht richtig verstanden bzw. wendest etwas nicht richtig an.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

code

Eingetragen von Poldrack (288)
am 29.06.2006 - 14:23 Uhr

also die Datei

flexinode_timestamp.tpl.php:

<?php
$formatted_value
= strftime ("%d.%m.%Y", $value); // format as Month and Year, eg. 'July 2004'
?>

<div class="flexinode-timestamp-<?php print $field_id; ?>">
<strong><?php print $label; ?>: </strong><br />
<?php print $formatted_value; ?>
</div>

und die Datei

template.php:

<?php //$Id: template.php, v 1.0 2006/06/13 quiptime Exp $
/**
* Catch the theme_print_link function, and redirect through the template api
*/

function phptemplate_print_link($node) {
  return
_phptemplate_callback('print_link', array('node' => $node));
}

/**
* Override theme_flexinode_timestamp() from modules/flexinode/field_timestamp.inc
*/
function phptemplate_flexinode_timestamp($field_id, $label, $value, $formatted_value) {
 
// nothing happens here.
 
return _phptemplate_callback('flexinode_timestamp', array('field_id' => $field_id, 'label' => $label, 'value' => $value, 'formatted_value' => $formatted_value));
}

function
pushbutton_book_export_html($title, $content) {
  global
$base_url;
 
$html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' . "\n";
 
$html .= '<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">' . "\n";
 
$html .= '<head>' . "\n";
 
$html .= '<title>'. $title .'</title>' . "\n";
 
$html .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
 
$html .= '<base href="'. $base_url .'/" />' . "\n";
 
$html .= '<style type="text/css"> @import url(misc/print.css); </style>' . "\n";
 
$html .= '</head>' . "\n";
 
$html .= '<body>' . "\n";
 
$html .= '<img src="/files/aurbannerlogobig.png" />' . "\n";
 
$html .= $content . "\n";
 
$html .= '</body>' . "\n";
 
$html .= '</html>' . "\n";
  return
$html;
}

?>

Danke!

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich sehe mir das Nachher mal

Eingetragen von quiptime (4972)
am 29.06.2006 - 14:36 Uhr

Ich sehe mir das Nachher mal in Ruhe an. Wird ca. 2h dauern bis zu einer Antwort.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

@quiptime

Eingetragen von Poldrack (288)
am 29.06.2006 - 15:04 Uhr

Keine Eile, bin ja megafroh, daß Du mir da unter die Arme greifst. Danke nochmal. :-)

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Um zu testen und auch zu

Eingetragen von quiptime (4972)
am 29.06.2006 - 16:23 Uhr

Um zu testen und auch zu sehen, an welchen Stellen bei der HTML-Ausgabe das Template verwendet wird ändere mal bitte temporär den Templatecode
von

<?php
print $formatted_value;
?>

nach

<?php
print 'MyStamp :'.$formatted_value;
?>

Und schau Dir danach mal an, wo überall "MyStamp :" bei der Anzeige des Timestamp zu sehen ist.

Offensichtlich wird das Timestamp-Template nicht generell bei den Anzeigen verwendet. Das wiederum bedeutet, die Stelle im Code zu finden, welche die Ausgabe mit Datum (also ohne Template) verwendet.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, wie zu erwarten

Eingetragen von Poldrack (288)
am 29.06.2006 - 16:33 Uhr

ja, wie zu erwarten erfolgt die Ausgabe MyStamp bei der Table View Ansicht nicht, bei den anderen Ausgaben schon. Nämlich da, wo auch korrekt das Template überschrieben wird.

Liegt das nun an Flexinode oder liegt dies an views (ich glaube nur mit views war ja die Tabellenansicht möglich im Zusammenhang mit Flexinode)
--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du verwendest für die

Eingetragen von quiptime (4972)
am 29.06.2006 - 16:48 Uhr

Du verwendest für die Anzeige der Tabellenansicht das Modul "views"?

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

views und nein

Eingetragen von Poldrack (288)
am 29.06.2006 - 16:54 Uhr

ähm, nein ... da hab ich mich wohl vertan. ich dachte erst, ich brauche dringend views, damit die tabellenansicht kommt. hab aber views ausgeschaltet und die tabellenansicht erscheint denoch.

der fehler bleibt aber weiter bestehen, das heißt in der tabellenansicht wird das datumsfeld nicht überschrieben:

http://www.autokauf-und-recht.de/listurteile

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich mache mir mal schnell

Eingetragen von quiptime (4972)
am 29.06.2006 - 16:59 Uhr

Ich mache mir mal schnell selbst ein Feld timestamp zu einem Flexinode-Inhaltstypen und auch das Template dazu, damit ich hier nicht völlig rumtheoretisiere.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

super ... an die

Eingetragen von Poldrack (288)
am 29.06.2006 - 17:05 Uhr

super ... an die tabellenansicht gelangst du dann, wenn du eingibst

flexinode/table/x

wobei x = die id der flexinode ist

(ich hab lediglich ein url-alias gesetzt - daher der etwas andere link)

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es sieht erst mal nicht so

Eingetragen von quiptime (4972)
am 29.06.2006 - 17:21 Uhr

Es sieht erst mal nicht so gut aus mit der Formatierung des Datum in der Tabellenansicht.

Produziert wird die Ausgabe der Tabellenansicht in "flexinode.module" in "function flexinode_page_table".

In dieser Funktion kann ich erst mal keinerlei Optionen zum Beeinflussen des Datum erkennen. Ein Datum wird aus der DB-Tabelle ausgelesen wie jeder andere beliebige Inhalt und dann ausgegeben.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wo genau findest du dies?

Eingetragen von Poldrack (288)
am 29.06.2006 - 17:40 Uhr

Wo genau findest du dies? ich hatte auch schon geschaut, bin aber als laie nicht so recht schlau geworden. notfalls müßte es halt ein hard-code-hack sein, auch wenn ich diese lösungen hasse, wg update und so.

Oder geht es möglicherweise eleganter, wenn ich was im field_timestamp.inc ändere? Daher auch meine Frage im anderen Thema hier.

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es sieht im Moment nach

Eingetragen von quiptime (4972)
am 29.06.2006 - 18:25 Uhr

Es sieht im Moment nach einem hard-code-hack aus,

da in der Funktion flexinode_page_table ohne Ansehen des Inhaltes diese in die Tabelle geschoben werden - und das Datum wird nicht extra behandelt.

Man muss da eine Abfrage nach einem Datum-Inhalt einbauen und wenn es ein Datum ist, dann soll das Template verwendet werden.

Bin noch dran.

Du hast nicht ganz das Ergebnis des Test weiter oben mit "MyStamp" kapiert zu haben:
Du kannst im Timestamp-Template auch "Hallo Datum" schreiben. In der Tabelle wird "Hallo Datum" nicht ausgegeben, weil die Funktion zur Tabellansicht-Ausgabe NICHT auf das Timestamp-Template zugreift.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: Es sieht im Moment nach

Eingetragen von Poldrack (288)
am 29.06.2006 - 18:38 Uhr
quiptime schrieb

Du hast nicht ganz das Ergebnis des Test weiter oben mit "MyStamp" kapiert zu haben:
Du kannst im Timestamp-Template auch "Hallo Datum" schreiben. In der Tabelle wird "Hallo Datum" nicht ausgegeben, weil die Funktion zur Tabellansicht-Ausgabe NICHT auf das Timestamp-Template zugreift.

Habe ich nicht genau dies beschrieben? Dann hab ich mich wohl falsch ausgedrückt ... Mir ist schon klar, daß die Tabellenansicht-Ausgabe nicht auf das Timestamp-Template zugreift. Soweit komme ich schon noch, nur wie ich das ändern kann, da habe ich keinerlei ahnung ...

danke für deine hilfe, ist echt nett

  • Anmelden oder Registrieren um Kommentare zu schreiben

So, ich habe eine Lösung.

Eingetragen von quiptime (4972)
am 29.06.2006 - 21:23 Uhr

So,

ich habe eine Lösung. Räume nur noch meinen Code auf und dann poste ich die Lösung.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Flexinode Tabeleview - Format des Datums beeinflussen [Lösung]

Eingetragen von quiptime (4972)
am 29.06.2006 - 23:02 Uhr

Ich wiederhole noch mal: Der Maintainer des Modules Flexinode hat es bisher versäumt, bei der Ausgabe eines Datum-Feldes die Ausgabe auch für die Tabellenansicht durch ein Template veränderbar zu machen.

Meine Lösung stellt also nur einen Hack des Code einer Moduldatei dar und ist keinesfalls eine offizielle Lösung.

Lösung

In der Moduldatei "field_timestamp.inc" die Funktion "flexinode_field_timestamp_format" wie folgt verändern.

 
Vor der Änderung:

<?php
function flexinode_field_timestamp_format($field, $node, $brief = 0) {
 
$fieldname = 'flexinode_'. $field->field_id;

  return
format_date($node->$fieldname);
}
?>

 
Geänderter Code:

<?php
function flexinode_field_timestamp_format($field, $node, $brief = 0) {
 
$fieldname = 'flexinode_'. $field->field_id;

  return
strftime ("%d.%m.%Y", $node->$fieldname);
}
?>

 
Die Nachnutzung des vorhandenen Template erscheint wenig sinnvoll, da das Datum in der Tabellenansicht mit großer Warscheinlichkeit eine andere Formatierung (z. Bsp. Label) bekommensoll als im node. In der Tabelle soll halt einfach nur das Datum gezeigt werden.
Die Formatierung des Datums muss damit logischer Weise in der "field_timestamp.inc" vorgenommen werden.

@Frugol,

sollte auch bei Dir funktionieren. Habe es bei mir getestet - klappt.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Daaankke!

Eingetragen von Poldrack (288)
am 29.06.2006 - 23:22 Uhr

@quiptime

Funktioniert einfach klasse. Danke! Da hast Du mir echt ein ganzes Stück weit geholfen. Jetzt sieht auch meine Tabelle schön aus .... :-))

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe eben mal geklickt:

Eingetragen von quiptime (4972)
am 29.06.2006 - 23:31 Uhr

Habe eben mal geklickt: http://www.autokauf-und-recht.de

Sehe nur 'ne leere Seite!

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

arrg

Eingetragen von Poldrack (288)
am 30.06.2006 - 00:12 Uhr

bekomme plötzlich diese fehlermeldung:

warning: Cannot modify header information - headers already sent by (output started at xxxxxx/modules/book.module:1) in xxxxxxx/portal/includes/common.inc on line 139.

scheint mit dem book-modul zusammenzuhängen.

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schalte mal testhalber auf

Eingetragen von quiptime (4972)
am 30.06.2006 - 00:41 Uhr

Schalte mal testhalber auf ein anderes Theme um.

Oder wenn Du viel am Content rumgefummelt hast hilft manchmal auch, die DB-Tabelle "cache" zu leeren.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

habe mal schnell die

Eingetragen von Poldrack (288)
am 30.06.2006 - 00:42 Uhr

habe mal schnell die vorhergehende book-version aufgespielt und da ging es wieder ... hmm

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man, ich sehe gerade, Du

Eingetragen von quiptime (4972)
am 30.06.2006 - 00:47 Uhr

Man,

ich sehe gerade, Du bist auch aus Dresden.

Wir sollten uns mal auf einen Kaffee treffen.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

*g*

Eingetragen von Poldrack (288)
am 30.06.2006 - 00:49 Uhr

hast du meine mail nicht gelesen? *g* hatte ich schon vor ner weile vorgeschlagen ... ;-)

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bin derzeit dermaßen mit

Eingetragen von quiptime (4972)
am 30.06.2006 - 00:58 Uhr

Bin derzeit dermaßen mit Spam zugekackt das ich sie eventuell auch versehentlich gelöscht habe - nochmal senden bitte.

Bei der Gelegenheit, kann man nicht auch hier Messages an andere Member senden?

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, habe dir auch über

Eingetragen von Poldrack (288)
am 30.06.2006 - 01:03 Uhr

ja, habe dir auch über diese funktion eine nachricht geschickt, die kommt dann aber bei dir auch als email an.

konnte das problem soweit eingrenzen, daß ich beim book-modul themen was falsch gemacht haben muss. Daher sollte wir die diskussion dort fortsetzen -> http://www.drupalcenter.de/node/1184

--------------------------------

http://www.autokauf-und-recht.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Advertising Modul gesucht
  • Mysql Ver 8.0.41 zu MariaDB 10.11.11
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Doppelte Einträge verhindern
  • [abgeschlosen] PHP Composer von Plesk + .bashrc nicht vorhanden
  • Drupal 7 Focal Point – Bild auf Desktop vollständig anzeigen, nur in Responsive zuschneiden
  • ECA validiere Felder mit unlimitierter Eingabe
  • Zugriff auf Webform beschränken/gewähren
  • Drupal 10.4.5 und Bootstrap 3.x.
  • Probleme mit Drupal 10 - HTTP Statuscode 403 (gelöst)
  • View mit mehreren Ansichten, übersteuert nicht
  • [gelöst] Wiederherstellen mit backup&migrate
Weiter

Neue Kommentare

  • War Eure Suche erfolgreich?
    vor 9 Stunden 13 Sekunden
  • V-Server ..
    vor 1 Woche 19 Stunden
  • ... generelle
    vor 1 Woche 19 Stunden
  • oder..
    vor 2 Wochen 1 Tag
  • Also ich will dich ja nicht
    vor 2 Wochen 2 Tagen
  • nochmal MariaDB vs Mysql
    vor 2 Wochen 2 Tagen
  • Vielen Dank - feedback zu den Videos
    vor 3 Wochen 6 Tagen
  • Falls dieses Thema noch mal
    vor 4 Wochen 2 Tagen
  • Prima, dann schreib bitte
    vor 4 Wochen 3 Tagen
  • Ah perfekt. Es hat an der
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 249988
Registrierte User: 20271

Neue User:

  • CharlestydaY
  • Darrenwem
  • DavidSeero

» Alle User anzeigen

User nach Punkten sortiert:
wla9454
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3855
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association