Page 1 of 1
Feld-Definition - Image-Feld hinzufügen
Posted: Thu Apr 09, 2009 7:27 am
by dylan
Ich möchte meine
News um vier image-Felder (bild01, bild02, bild03, bild04)
erweitern.
Ich habe unter dem Reiter
Feld-Definition die Felder als
Typ Datei, öffentlich angelegt. Einstellmöglichkeiten gibt es kaum, außer Name, maximale Länge, u. öffentlich. Jetzt sind die Felder angelegt, aber was mache ich nun damit? Wie setze ich die Felder in mein News-Modul ein, in mein Formular damit ich die Bilder hochladen kann (am liebsten in einen eigens erstellten Ordner)?
Toll wäre, wenn die Bilder als Thumbs generiert werden und per klick ... naja ...
Ich habe im Forum einige Beiträge gefunden, die aber nur Bruchstückhaft wiedergeben, was ich brauche. In der
Dokumentation wird das anlegen neuer Felder aufgezeigt, die Anpassung der Templates, und ggf. anderer nötiger Dateien, habe ich dort nicht finden können.
Was muss ich tun um die in Feld-Definition angelegten Felder in meinen News-Templates angezeigt zu bekommen?
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Thu Apr 09, 2009 8:07 am
by antibart
Mit dem Feldtyp "Datei" lädst Du Bilder direkt von deiner Festplatte hoch. Nach Erstellen des Feldes erscheint in deiner Artikelbearbeitung automatisch das neue Extrafeld. Dh. Du kannst nun von dort aus Bilder in deinen Newsartikel laden.
Die Inhalte der Extrafelder erschienen erstmal alle untereinander weg durch die im Template vohandene foreach-Schleife. Meist ist das nicht das, was man will. Man will ja die Felder an bestimmten Stellen ausgeben.
Im Prinzip reicht es, wenn Du die foreach schleife mal wegnimmst und Du im template dort, wo dein Bild erscheinen soll, den Tag zb
file_location}/{$entry->feldname}" alt=".." width="150" height="101" />
einfügst. feldname wäre zB bild1, je nachdem, wie du das Feld genannt hast.
Wenn Du es noch etwas spezifizieren willst:
http://forum.cmsmadesimple.org/index.ph ... 563.0.html
Thumbnails: Nun ja ... Das News-Modul selbst hat damit nichts zu tun... Du könnest das Lightbox-Modul mit ins Template einbauen.
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Fri Apr 10, 2009 9:26 am
by dylan
Das hinzufügen des Datei-Feldes hat mit einigen kleinen Hürden (gelöst über den Beitrag
"Probleme mit news in Verbindung mit safe_mode und upload") geklappt.
Das Bild erscheint nun unter dem content. Dort möchte ich es aber nicht haben.
Ich habe das summary-Template also angepasst, um das Bild an die entspr. Position zu stellen, ich vermute dass das foreach das ich auskommentiert habe nicht das richtige war?:
Code: Select all
<!-- Start Referenzen Display Template -->
{if $pagecount > 1}
<p>
{if $pagenumber > 1}
{$firstpage} {$prevpage}
{/if}
{$pagetext} {$pagenumber} {$oftext} {$pagecount}
{if $pagenumber < $pagecount}
{$nextpage} {$lastpage}
{/if}
</p>
{/if}
{foreach from=$items item=entry}
<div class="ReferenzenSummary">
<div class="ReferenzenSumm_links">
<img src="{$entry->file_location}/{$entry->Hauptbild}" alt="" width="150" height="113" />
</div>
<div class="ReferenzenSumm_rechts">
<div class="ReferenzenSummaryLink">
<img src="images/cms/link_hin.gif" width="19" height="9" alt="" border="0" style="margin-right:10px;" /><a href="{$entry->moreurl}" title="{$entry->title|escape:htmlall}">{$entry->title|escape}</a>
</div>
{if $entry->summary}
<div class="ReferenzenSummarySummary">
{eval var=$entry->summary}
</div>
{else if $entry->content}
<div class="ReferenzenSummaryContent">
{eval var=$entry->content}
</div>
{/if}
{if isset($entry->extra)}
<div class="ReferenzenSummaryExtra">
{eval var=$entry->extra}
{* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
</div>
{/if}
<!-- {if isset($entry->fields)}
{foreach from=$entry->fields item='field'}
<div class="ReferenzenSummaryField">
{if $field->type == 'file'}
<img src="{$entry->file_location}/{$field->value}" />
{else}
{$field->name}: {eval var=$field->value}
{/if}
</div>
{/foreach}
{/if}-->
</div>
</div>
{/foreach}
<!-- End Referenzen Display Template -->
Ich möchte das Bild (Feldname "Hauptbild") im div
ReferenzenSumm_links, und die Artikel-Zusammenfassung im
ReferenzenSumm_rechts haben.
Zugehöriges CSS
Code: Select all
.ReferenzenSummary {
width:650px;margin: 0 0 12px 0;
line-height:1.6em;border:#AAA 1px solid;background-color:#EEE;
}
.ReferenzenSumm_links {
width:150px;float:left;padding:8px;border-right:#AAA 1px solid;background-color:#FFF;
}
.ReferenzenSumm_rechts {
width:467px;float:left;padding:8px 0px 8px 14px;
}
Im Quelltext kommen meine Änderungen so an:
Code: Select all
<div class="ReferenzenSummary">
<div class="ReferenzenSumm_links">
<img src="http://localhost/2009-04-03/uploads/referenzen/id5/" alt="" width="150" height="113" />
</div>
<div class="ReferenzenSumm_rechts">
<div class="ReferenzenSummaryLink">
<img src="images/cms/link_hin.gif" width="19" height="9" alt="" border="0" style="margin-right:10px;" /><a href="http://localhost/2009-04-03/index.php?mact=Referenzen,cntnt01,detail,0&cntnt01articleid=5&cntnt01returnid=52" title="Pommes Mayo">Pommes Mayo</a>
</div>
<div class="ReferenzenSummarySummary">
Lecker Pommes Mayo
</div>
<!-- <div class="ReferenzenSummaryMorelink">
[<a href="http://localhost/2009-04-03/index.php?mact=Referenzen,cntnt01,detail,0&cntnt01articleid=5&cntnt01returnid=52">Weiterlesen …</a>]
</div> -->
<!-- <div class="ReferenzenSummaryField">
<img src="http://localhost/2009-04-03/uploads/referenzen/id5/test_baustelle_thmb.jpg" />
</div>
-->
</div>
</div>
Man sieht, das die Übergabe des Feldnamens scheitert.
Schöner wäre auch wenn die Uploads nicht im Ordner "uploads/referenzen/" liegen, sonder in "uploads/images/referenzen/", dann hat man mit der Bildverwaltung Zugriff darauf. Wo kann man das denn einstellen? Aber erst einmal steht die Ausgabe an ...
Sorry, ich sehe gerade das im div noch ein clear:both fehlt :)
Code: Select all
...
</div>
<div style="clear:both;"></div>
</div>
{/foreach}
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Sat Apr 11, 2009 7:57 am
by antibart
Das Bild rufst Du so auf . Es erscheint dort, wo Du es einfügst
antibart wrote:
file_location}/{$entry->feldname}" alt=".." width="150" height="101" />
Der Ordner, wo die Bilder gespeichert werden, wird automatisch unterhalb von uploads/images angelegt und hiesst dann zb /news/id2 usw. Möglich, dass Du im Code ändern kannst, wie dieser Name generiert wird. Dabei kann ich dir allerdings aus dem Kopf nicht helfen.
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Sat Apr 11, 2009 8:39 am
by dylan
file_location}/{$entry->Hauptbild}" alt="" width="150" height="113" />
Exactly so hatte ich es eingebaut, s. meinen Quelltext oben. Leider funktionierte das aber nicht...
Der Feldname meines Bildes ist Hauptbild
Groß- Kleinschreibung beachten ist eigentlich sinnvoll (!?). In meinem Modul anscheinend nicht, ich habe es nun so eingebaut, und es funktioniert:
file_location}/{$entry->hauptbild}" alt="" width="150" height="113" />
Obwohl der Feldname definitiv Hauptbild ist. Verstehe das wer will :)
Eine weitere Frage habe ich noch. Ist es möglich das die hochgeladenen Bilder immer eine einheitliche Größe erhalten, z.B. eine Breite von 150px?
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Sat Apr 11, 2009 11:17 am
by antibart
dylan wrote: In meinem Modul anscheinend nicht, ich habe es nun so eingebaut, und es funktioniert:
file_location}/{$entry->
hauptbild}" alt="" width="150" height="113" />
Obwohl der Feldname definitiv
Hauptbild ist. Verstehe das wer will

Großbuchstaben gehören scheinbar nicht zum "Repertoire" des gültigen Zeichenbestandes von Variablennamen des News-Moduls. Auch Feldnamen mit Leerzeichen müssen umgewandelt werdem: "mein_feld" .. auch wenn das feld eigentllich "Mein Feld" heisst.
dylan wrote:
Eine weitere Frage habe ich noch. Ist es möglich das die hochgeladenen Bilder immer eine einheitliche Größe erhalten, z.B. eine Breite von 150px?
Ist mir zumindest nicht bekannt ... da kannst sie zwar in der Größe darstellen (mit width="150" im image-Tag) ... das Originalbild bleibt aber in der Orignalgröße. Lediglich Thumbnails und die Maximalgröße von Album-Bildern können begrenzt werden.
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Sat Apr 11, 2009 3:21 pm
by dylan
... da kannst sie zwar in der Größe darstellen (mit width="150" im image-Tag) ... das Originalbild bleibt aber in der Orignalgröße. Lediglich Thumbnails und die Maximalgröße von Album-Bildern können begrenzt werden.
Mit der Bildbreite kein Problem. Nur, woher weiß ich welches Bild mein Kunde hochlädt, und vor allem in welcher Größe? Der height-Wert müsste sich also proportinal zu width anpassen. Gibt es da vielleicht eine Möglichkeit auf PHP-Basis - um die Proportion des Bildes beizubehalten?
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Sat Apr 11, 2009 8:04 pm
by cyberman
Dafür brauchst du kein PHP, das macht der Browser automatisch, wenn du width auf 150 setzt und height weglässt ...
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Thu Aug 27, 2009 2:49 pm
by nicmare
sorry für reaktivierung des threads aber ich wollte mal den aktuellen stand der dinge abrufen.
bis jetzt mache ich es so dass ich zwei bilder hochlade. ein thumbnail und ein großes bild.
das große kommt in dem link vom thumbnail. ist natürlich etwas umständlich da man das thumbnails erstmal selber lokal erzeugen muss. kann man das irgendwie mit cmsms automatisieren? sprich, dass ich nur das große bild hochlade und er parallel nen thumbnail erzeugt?? ein traum wäre natürlich gleich mit dem link
Re: Feld-Definition - Image-Feld hinzufügen
Posted: Thu Aug 27, 2009 3:13 pm
by nicmare
schaut mal daher liebe leude: da hat sich jemand mal nach macgyver manier gedanken gemacht und ne
thumbnail-news-generierung integriert