Standardbild solange man keines lädt?
am 29.04.2009 - 20:06 Uhr in
Hallo,
habe einen neuen Inhaltstypen mit CCK erstellt, darin sind 5 IMAGE- Fields mit denen man Bilder hochladen kann.
Das erste Bild wird über Views in einer Liste als Profilbild ausgegeben und dient auch als Link zum Node.
Nun suche ich nach folgender Möglichkeit:
Wenn man kein Bild im ersten Image-Field lädt, soll automatisch ein Bild geladen werden der auf em Server liegt, sobald man wiederum manuell sich ein Bild in dieses Feld über den
"Durchsuchen" Button lädt soll dieses Standardbild nicht mehr aktiv sein.
Diese Möglichkeit gibt es ja beim Benutzerbild, jedoch wie hier angesprochen, wird dies für CCK Imagefield gesucht?!
Vielen Dank schon mal jetzt für Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben
Hat niemand einen Rat mal
am 01.05.2009 - 12:19 Uhr
Hat niemand einen Rat mal dazu?
Wäre ziemlich brennend.
node.tpl.php
am 01.05.2009 - 12:59 Uhr
Moin!
Mach doch in der node.tpl.php des entsprechenden Inhaltstypen eine Überprüfung, ob das Feld vorhanden bzw. gefüllt ist und zeige (falls nicht) das Standardbild an.
hth,
Stefan
--
2 Personen mit Halbwissen sind schlimmer als Einer, der gar nichts weiss.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hi, habe als Daten eine
am 01.05.2009 - 13:11 Uhr
Hi,
habe als Daten eine
template.php
page.tpl.php
style.css
im Template, leider reichen aber meine Php Kenntnissse für Deine Idee nicht aus.
Bitte daher um einen Codeansatz - wenn das keine grosse Umstände macht?
Hat sonst vielleicht jemand
am 03.05.2009 - 11:42 Uhr
Hat sonst vielleicht jemand anders einen Ansatz dafür?
Du musst nicht 5 Image
am 03.05.2009 - 12:08 Uhr
Du musst nicht 5 Image Felder nehmen, du kannst auch einstellen, dass man max. 5 Bilder hochladen darf.
Un warum nimmst du nicht für deine View für das Benutzerbild nicht auch das Feld für das Benutzerbild. Und falls ich mich irre kann man für Felder ein Standardwert festlegen.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
Hi Spartacus! Es stimmt
am 03.05.2009 - 12:32 Uhr
Hi Spartacus!
Es stimmt schon, ich könnte das Userbild nehmen, aber dann müsste der User im Profil das Userbild laden und extra im erstellen Inhaltstyp ( CCK Image )
dann die 4 restlichen Bilder laden. Mit der Varinate würde es recht unattraktiv und umständlich sein.
Daher möchte ich das wie bereits beschrieben realisieren, die Idee von stBorchert wäre optimal, leider fehlen mir jedoch dazu die nötigen PHP-Befehle.
Standardwert kann man beim CCK-Textmodul machen, für das "Image" habe ich es leider nicht gefunden, aber korrigiert mich wenn mich irre.
Daher wenn jemand einen Ansatz oder auch eine andere Lösung hat, bin ich dankbar, nur das mit dem MIX vom Userbild und CCK-Inhaltstyp ist nicht das Wahre.
also meiner meinung nach
am 03.05.2009 - 17:06 Uhr
also meiner meinung nach hast Du keine andere Möglichkeit als das mit einer kleinen Abfrage in der node.tpl zu machen, so habe ich das seinerzeit auch gelöst.
Einfach abfragen ob ein Bild vorhanden ist
beispiel:
<?php if (!isset($node->field_bild[0]['filepath']) || $node->node_data_field_sedcard_bild_field_sedcard_bild_fid =="0" ) :
print '<img src="/files/dummy.jpg">';
?>
<?php else: ?>
<?php print theme('imagecache', 'sedcardbig', 'files/'.$node->field_bild[0]['filepath'], $alt, $title, $attributes) ?>
bitte nicht an der art stören, wie php hier eingebunden wurde, das habe ich schnell aus einer alten datei kopiert!
-------------------
gruss
drupalino
gruss
drupalino
kann man diese Abfrage (
am 03.05.2009 - 19:13 Uhr
kann man diese Abfrage ( noch nicht getestet ) auch in die
template.php schreiben? Hat das dann auch eine Funktion?
Jein, könnte man, wenn man
am 03.05.2009 - 19:51 Uhr
Jein,
könnte man, wenn man eine Funktion draus bastelt, aber Du müsstest immer noch einen Parameter dann mitgeben, nämlich zumindest den Feldnamen.
Verstehe aber nicht ganz den Sinn und Zweck dahinter. Denn Bedenke, die Felder, die Du ja hier abprüfst betreffen die Node in der Du dein CCK-Feld hast!
Oder worauf willst Du genau hinaus?
-------------------
gruss
drupalino
gruss
drupalino
Ginge darum dass mein
am 03.05.2009 - 19:59 Uhr
Ginge darum, dass mein template kein node.tpl.php enthält sondern nur:
template.php
page.tpl.php
style.css
daher die Frage. Aber wenn ich eine node.tpl.php mit dem vorgegebenen Code erstelle, muss ich sonst noch irgend etwas beachten - woanders eventuell ( in template.php ) die node.tpl.php als Pfad einfügen oder einfach nur die Php Datei erstellen?
Zitat: Ginge darum, dass
am 03.05.2009 - 20:03 Uhr
Ginge darum, dass mein template kein node.tpl.php enthält sondern nur:
Du meinst sicher mit template Dein Theme !?!?!
Und Dein "Theme" enthält mit Sicherheit eine node.tpl ;-)
Du hast einen Content-Type angelegt und dieser hat einen "name" also wäre das node template "node-name.tpl.php" und darin kannst Du das machen!
Oder reden wir gerade extrem aneinander vorbei?
-------------------
gruss
drupalino
gruss
drupalino
nun, ich meine, dass mein
am 03.05.2009 - 21:10 Uhr
nun, ich meine, dass mein TEMPLATE aus folgenden Daten besteht:
template.php
page.tpl.php
style.css
mehr nicht, also die besgte node.tpl.php gibts bei mir nicht.
kann nicht sein! läuft
am 03.05.2009 - 21:20 Uhr
kann nicht sein! läuft Deine Site überhaupt ???
Schilder mal was genauer wie Deine Umgebung aussieht. Welche Verzeichnisse hast Du ud wo liegt was drin?
-------------------
gruss
drupalino
gruss
drupalino
ist aber so: in den Ordner
am 03.05.2009 - 21:39 Uhr
ist aber so:
in den Ordner Themes ist mein_Template, benannt als mein Template darin sind:
template.php
page.tpl.php
style.css
als Dateien.
die template.php schaut so aus:
<?php
function mein_Template_regions() {
return array(
'header' => t('header'),
'sidebar_ticker' => t('sidebar_ticker'),
'sidebar_navi' => t('sidebar_navi'),
'sidebar_left' => t('sidebar_left'),
'content' => t('content'),
'fuss' => t('fuss')
);
}
return $output;
?>
die page.tpl.php schaut so aus:
<!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="<?php print $language ?>" lang="<?php print $language ?>">
<head>
<title><?php print $head_title ?></title>
<meta name="description" content="dummy."/>
<meta name="keywords" content="dummy."/>
<meta name="title" content="dummy."/>
Peter Lovasi"/>
<meta name="publisher" content="dummy."/>
<meta name="copyright" content="dummy."/>
<meta name="abstract" content="dummy."/>
<meta name="revisit" content="after 1 days"/>
<meta name="robots" content="index,follow"/>
<meta name="language" content="de"/>
<meta name="DC.Title" content="dummy."/>
<meta name="DC.Description" content="dummy."/>
<meta name="DC.Publisher" content="dummy."/>
<meta name="DC.Type" content="Text"/>
<meta name="DC.Format" content="text/html"/>
<meta name="DC.Language" content="de"/>
<meta name="DC.Rights" content="dummy."/>
<meta http-equiv="content-Type" content="text/html; charset=iso-8859-1"/>
<?php print $head ?>
<?php print $styles ?>
<?php print $scripts ?>
<script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>
</head>
<body>
<?php print $onload_attributes ?>
<?php if ($logo) { ?><div id="logo"><a href="<?php print $base_path ?>" title="<?php print $site_name ?>"><?php print $site_name ?>" /></a></div><?php } ?>
<div id="gesamt">
<div class="header">
<?php print $header ?>
</div>
<div id="sidebar_ticker">
<?php print $sidebar_ticker ?>
</div>
<div id="sidebar_navi">
<?php print $sidebar_navi ?>
</div>
<div id="sidebar_left">
<?php print $sidebar_left ?>
</div>
<div id="content">
<?php if ($messages): print $messages; endif; ?>
<?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
<?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
<?php if ($tabs): print $tabs .'</div>'; endif; ?>
<?php print $content ?>
</div>
<div id="fuss">
<?php print $fuss?></div>
</div>
</body>
</html>
und eben die style.css wobei die hier nicht wichtig ist.
Ja die Seite/ die Seiten mit dem Template laufen.
baut dieses theme auf zen
am 03.05.2009 - 21:49 Uhr
baut dieses theme auf zen auf???
was liegt denn alles in dem ordner über mein_Template ?
-------------------
gruss
drupalino
gruss
drupalino
da liegen auch als
am 03.05.2009 - 22:01 Uhr
da liegen auch als Theme:
pushbutton
garland
engines
chameleon
bluemarine
Dann vermute ich, dass die
am 03.05.2009 - 22:10 Uhr
Dann vermute ich, dass die node.tpl aus dem garland ordner verwendet wird was auch dein verwaltungs-theme ist. wahrscheinlich garland.
aber all dies ist zu Deiner Eingangsfrage ziemlich egal. Nach wie vor hast Du einen Content-Type erstellt und wenn Du nun das node.tpl aus Garland in Dein Theme kopierst und diese wie oben beschrieben benennst, dann kannst Du in der auch die Dinge machen, die Du möchtest für Deinen Content-Type.
(Dennoch drängt sich mir die FRage auf, woher kommt denn die page.tpl in Deinem Theme-Ordner??? Die sieht jetzt nicht so aus, als hättest Du die komplett selbst geschrieben?)
-------------------
gruss
drupalino
gruss
drupalino
ja das template habe ich
am 03.05.2009 - 22:14 Uhr
ja das template habe ich geschrieben, dann kommts aus dem garland, das vermutest du richtig.
Okay im prinzip nehme ich aus dem garlandornder die node.tpl.php und stecks in meinen Themeordner, habe ich das dann richtig verstanden?
und nennst es
am 03.05.2009 - 22:19 Uhr
und nennst es "node-NAMEDEINESCONTENTYPS.tpl.php"
und dass solltest Du Dir mal genauer ansehen http://www.24ix.de/Drupal-Templates-verstehen.217.0.html
und http://drupal.org/node/17565
-------------------
gruss
drupalino
gruss
drupalino
Ich glaube er benutzt
am 03.05.2009 - 22:59 Uhr
Ich glaube er benutzt Drupal6, weil dort würde dann die node.tpl aus dem Node-Modul Ordner genommen.
Aber ich rate Dir kein php oder ähnliches zu nutzen, wenn du keine Ahnung von php hast.
Die Reihenfolge der Sichtheit von Drupal:
1. Drupal-Kern (sehr Sicher - 5 % Gefahr)
2. Zusatz-Module (es wird warm - 35 % Gefahr)
3. Eigenes Theme/Modul (Betreten auf eigene Gefahr)
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
node.tpl.php
am 04.05.2009 - 07:45 Uhr
Moin!
Und gleich noch ein paar Tipps:
hth,
Stefan
--
2 Personen mit Halbwissen sind schlimmer als Einer, der gar nichts weiss.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
zur Info: ich verwende
am 04.05.2009 - 08:19 Uhr
zur Info: ich verwende Drupal 5 und es läuft alles prima so wie es bisher ist, ich werde mal den Ansatz von drupalino heute probieren zwecks der node-Contentyp.tpl.php.
Mal sehen ob dies klappt. ( so viel ahnung habe PHP hab schon, dass das alles unter Kontolle ist, nur wusste ich nicht wie ich eben das hier beschriebene, wofür ich diesen Thread aufgemacht realisieren hätte können, aber danke für den Tip @Spartacus )
Habs mal probiert,
am 04.05.2009 - 09:19 Uhr
Habs mal probiert, funktioniert aber nicht, erhalte folgende Fehlermeldung:
Parse error: syntax error, unexpected $end in /mnt/web7/30/85/51926885/htdocs/cms/themes/koschschul/node-mein_profil_erstellen.tpl.php on line 5
tpl
am 04.05.2009 - 09:23 Uhr
Tja, dann hast Du da wohl einen kleine Fehler in der Datei.
Zeig mal den Code (http://drupalbin.com oder http://drupal.pastebin.com oder http://pastebin.ca oder http://pastebin.org oder http://pastie.textmate.org).
Stefan
--
2 Personen mit Halbwissen sind schlimmer als Einer, der gar nichts weiss.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hast du nur die Standard
am 04.05.2009 - 09:24 Uhr
Hast du nur die Standard node.tpl kopiert und umbenannt?
oder hast du den Code von oben dort eingefügt? Wenn ja, kein Wunder das da Fehler kommen. Weil dieser Codeschnipsel nur ein Denkanstoss sein soll und nicht für dein Fall zugeschnitten ist.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
Das letzere, hatte den Code
am 04.05.2009 - 09:34 Uhr
Das letzere, hatte den Code von hier kopiert.
Meinst also ich soll die Datei node.tpl.php aus Garland in meinen Theme kopieren?
Du kannst das
am 04.05.2009 - 09:36 Uhr
Du kannst das http://www.drupalcenter.de/handbuch/4217 hier mal durchlesen.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.