Module Themen - $user->content?!
Eingetragen von pow (113)
am 31.07.2008 - 19:33 Uhr in
am 31.07.2008 - 19:33 Uhr in
Hallo,
ich kenn mich mit dem Themen leider nicht gut genug aus um mich gut auszudrücken, aber per
<?php
print $block->content
?>
kann ich mir den content wiedergeben lassen, aber ich möchte die einzelnen Felder des content spezifisch anordnen, so das der SUBMIT Button (als Beispiel) an einer bestimmten Position ist.
Wie geht das oder wo gibt es ein ausführliches Beispiel?
Dankeschön
- Anmelden oder Registrieren um Kommentare zu schreiben
Du willst wohl ein Formular
am 31.07.2008 - 19:43 Uhr
Du willst wohl ein Formular Themen also
theme_formularfunction($form)
Leider könntest du auch ausführlicher deine Frage stellen, dann wäre die Antwort deutlich einfacher
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
simplenews themen
am 31.07.2008 - 19:59 Uhr
Also ich möchte das Simplenews-Module themen, aber nicht irgendwie sondern "ausgefallen".
Da meine CSS Kenntnisse auch grenzen haben, tu ich mich leichter, wenn ich im Module-Code rumschnipseln kann.
Das Bild soll erklären welche Wandlung es nehmen soll:
Modulgehacke
am 31.07.2008 - 21:32 Uhr
Da meine CSS Kenntnisse auch grenzen haben, tu ich mich leichter, wenn ich im Module-Code rumschnipseln kann.
Autsch. Und nach einem Update darfst Du alles nochmal ändern. Keine Gute Idee.
Das Bild soll erklären welche Wandlung es nehmen soll: -snip-
Na das lässt sich doch mit CSS und einer kleinen Formularänderung bewerkstelligen.
So wie es auf den ersten Blick aussieht, musst Du nur
theme_simplenews_block()
überschreiben und dort das Formular ($block['form']
) entsprechend Deinen Wünschen anpassen (Subscribe web, Schaltfläche in Bild umwandeln, etc.). Der Rest ist pures CSS.hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Du sprichst...
am 31.07.2008 - 21:52 Uhr
...mir aus der Seele ;)
Ich wusste nicht ob ich den richtigen Weg gegangen bin, aber ich habe schon eine block-simplenews.tpl.php angelegt und da liegt eben mein Problem. Wie rufe ich die einzelnen Objekte auf? Dann könnte ich ja "einfach" den Button durch ein Bild ersetzen.
alles schonmal da gewesen...
am 31.07.2008 - 22:03 Uhr
Schau mal hier. Da gabs ein recht ähnliches Problem und das wurde auch gelöst.
Und noch ein Tipp: mit drupal_get_form() und der Id des simplenews-Formulars kannst Du Dir das Formular (also die Definition) holen und ausgeben lassen:
<?php
print_r(drupal_get_form('simplenews_block_form_'. $tid)); // $tid ist die Id des Newsletters
?>
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Modulgehacke...
am 01.08.2008 - 07:53 Uhr
<?php
function meintemplate_simplenews_block($block) {
$output = '';
if (variable_get('simplenews_block_f_'. $block['tid'], 1)) {
$output .= $block['form'];
}
return $output;
}
?>
hab ich schon gehabt, da ist eben meine Frage :) mit
<?php
$output .= $block['form'];
?>
<?php
$output .= $block['form', 'Submitbutton'];
?>
Den allerletzten Rest würde ich dann mit CSS erledigen.
Danke :)
print_r
am 01.08.2008 - 08:17 Uhr
...wie kann ich einzelne Elemente holen?
Lass Dir mal mit
<?php
print_r($block['form']);
?>
die Formulardefinition ausgeben. Dann siehst Du, wie das Array aufgebaut ist und kannst dann die einzelnen Bereiche verändern. Ist nicht schön, sollte aber funktionieren.
Oder Du schreibst Dir noch ein kleines zusätzliches Modul und änderst das Formular über hook_form_alter. Auch dort änderst Du dann die einzelnen Array-(sprich Formular-)Elemente.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Bahnhof...
am 01.08.2008 - 08:27 Uhr
ich gebs auf, danke :)
Von einem nicht ganz erklärtem Thema zum nächsten Bahnhof.
Danke ich werd schauen wie ich es löse :)
aufgeben?
am 01.08.2008 - 08:49 Uhr
ich gebs auf, danke :)
Och, wieso das denn? Wir fangen doch gerade erst an :-)
Von einem nicht ganz erklärtem Thema zum nächsten Bahnhof.
http://drupal.org/node/45295 erklärt, wie man das Suchformular ändert. Das in Verbindung mit
<?php
function meintemplate_simplenews_block($block) {
$output = '';
if (variable_get('simplenews_block_f_'. $block['tid'], 1)) {
$output .= $block['form'];
}
return $output;
}
?>
sollte Dich eigentlich zum Ziel führen.
Bei Fragen: schreiben.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
CSS gebastel...
am 01.08.2008 - 09:13 Uhr
Hab wohl oder übel doch per CSS hinbekommen, aber mit deiner Variante hab ich es schon probiert, da spuckt er mir das gesamte Formular aus - Überschrift + Input + Radios + Submit.
Sonst gebe ich nicht auf, aber wenn ich für ein Simplenews-Block zwei Tage brauche, ist das zu viel Zeit :)
Aber für die Hilfe bin ich weiterhin sehr dankbar! :)
str_replace
am 01.08.2008 - 09:20 Uhr
...da spuckt er mir das gesamte Formular aus - Überschrift + Input + Radios + Submit.
Naja, bleibt immer noch die harte Variante mit str_replace :-)
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Puhh,...
am 01.08.2008 - 09:27 Uhr
...alter Schwede das kenn ich teilweise noch von Actionscript.
Geb ich dankend zurück ;)