Downloadverzeichnis mit CCK und Views erstellen
am 19.04.2008 - 23:09 Uhr in
Suche jetzt schon seit einigen Tagen nach einer "fertigen" Lösung für ein "cooles" Downloadverzeichnis... Gibt da eins mit Hilfe eines externen padi-blabla-db-irgendwas?! Das war mir aber nicht flexibel genug...
Anscheinend ist die Verwendung von CCK und Views sinnvoll; und: anscheinend haben das schon einige gemacht... aber kein tutorial geschrieben...
Schauts euch doch mal kurz selber an...
a) http://www.dhein-pc.de/download.php?lng=de (das ist die Ausgangsseite)
b) http://comdi.dhein.com/downloads (das hab ich bis jetzt)
Was ich gerne umsetzen/erhalten würde...
a) javascript-ajax-like aufklappen...
b) downloadcounter
c) später noch screenshots
Hmmm...
bin für jede Hilfe/Hinweis dankbar
Grüsse
Andi
- Anmelden oder Registrieren um Kommentare zu schreiben
für download counter gibt
am 21.04.2008 - 13:56 Uhr
für download counter gibt es ein Modul. Da musst du jedoch den File download auf private setzen: http://drupal.org/project/download_count
screenshots: Kannst du einfach mit CCK und imagefield machen.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Weitere Tips?? Immer her damit...
am 22.04.2008 - 08:16 Uhr
Vielen Dank erst mal an rapsli für die rasche Antowort trotz Wochenende!!! cooles Forum!
download_count hab ich erfolgreich einbinden können... Find ich cool, ist aber nur für mich als Admin freigegeben... Interessiert ja auch erstmal nur mich ;)
Das mit den Screenshots hab ich vorbereitet (ist auch grad noch optional ein externer Link mittels "link"-module hinzugekommen... wenns ja so einfach geht ;)
ABER JETZT WÜRD ICH DIE AUSGABE GERN NOCH ANSPRECHENDER MACHEN:
1. Kategorisieren und automatisch Sortieren (ich glaub da sollte ich noch mal in den "view" schauen?!)
2. Freieres Anordnen der Infos mit etwas mehr Style... a la
/--------------------------\
| Title | Screenshot |
| | |
|--------------------[+|-]-|
| Beschreibung (Teaser) |
| (Aufklappbar) ..weiter |
| -------------------------|
| Filelink oder wwwlink |
\--------------------------/
3. Dynamisches Aufklappen der weiterführenden Informationen und (ajax vielleicht??) (siehe oben [+|-] und ...weiter)
Grüsse Andreas
PS: Wenn's dann halbwegs ausschaut werd ich mal ein Howto schreiben; wie gesagt: hab so was konkret noch nicht im Netz gefunden...
Themeing Teil1
am 28.04.2008 - 23:31 Uhr
Vielen Dank erst mal an rapsli für die rasche Antowort trotz Wochenende!!! cooles Forum!
download_count hab ich erfolgreich einbinden können... Find ich cool, ist aber nur für mich als Admin freigegeben... Interessiert ja auch erstmal nur mich ;)
Das mit den Screenshots hab ich vorbereitet (ist auch grad noch optional ein externer Link mittels "link"-module hinzugekommen... wenns ja so einfach geht ;)
ABER JETZT WÜRD ICH DIE AUSGABE GERN NOCH ANSPRECHENDER MACHEN:
1. Kategorisieren und automatisch Sortieren (ich glaub da sollte ich noch mal in den "view" schauen?!)
2. Freieres Anordnen der Infos mit etwas mehr Style... a la
/--------------------------\
| Title | Screenshot |
| | |
|--------------------[+|-]-|
| Beschreibung (Teaser) |
| (Aufklappbar) ..weiter |
| -------------------------|
| Filelink oder wwwlink |
\--------------------------/
Das wichtigste vorweg: RTFM!!! *grins*
nun denn... Die README.txt im Verzeichnis \sites\all\modules\cck\theme beschreibt eigentlich genau was zu tun ist (wenn man bis zum Ende liest)!!!
Was ich getan hab... Hab mir node-content_example.tpl.php in meinen template-Ordner kopiert und zu node-downloads.tpl.php umbenannt. (Das muss so heissen, weil der Inhaltstyp bei mir "downloads" heisst!
Dann war es sehr hilfreich erst mal folgendes in den -Bereich zu kopieren
<?php
print '<pre>';
print_r(get_defined_vars());
print '</pre>';
?>
um alle verfügbaren Felder mit den Zugriffsoptionen aufzulisten.
Der Inhalt meiner node-downloads.tpl.php dann im Ganzen:
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<?php print $picture ?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php if ($submitted): ?>
<span class="eingetragen"><?php print t('!date — !username', array('!username' => theme('username', $node), '!date' => format_date($node->created))); ?></span>
<?php endif; ?>
<div class="content">
<table border="0">
<tbody>
<tr>
<td><h2><?php print $node->field_body_teaser[0]['view']; ?></h2></td>
<td rowspan="2" align="center"><?php print $node->field_screenshot[0]['view']; ?></td>
</tr>
<tr>
<td><font color="#EEE"><?php print $node->content[body]['#value']; ?></font></td>
</tr>
<tr>
<td colspan="2"><?php
if( $node->field_externer_download[0]['view'] != "" )
{ print "Verweis: " . $node->field_externer_download[0]['view'] . " (*)"; }
print $node->content[files]['#value']; ?>
</td>
</tr>
</tbody>
</table>
<?php
if( $node->field_externer_download[0]['view'] != "" )
{ ?>
<br><hr><font size="-2">(*) Achtung: Dieser Verweis öffnet ein neues Fenster und führt zu einem Angebot, welches nicht zu meiner Internetpräsenz gehört</font>;
<?php } ?>
</div>
<div class="clear-block clear">
<div class="meta">
<?php if ($taxonomy): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif;?>
</div>
<?php if ($links): ?>
<div class="links"><?php print $links; ?></div>
<?php endif; ?>
</div>
</div>
Anmerkung: die if-Statements dienen dazu, nur bei vorhandenem externen_download auch den Link und den (*)-hinweis auszugeben...
Das war alles nicht wirklich schwer, hat mich nur extrem viel Zeit gekostet, da ich mich immer von anderen drupal-features ablenken hab lassen... (hm. Chaos rulez ;)
Nun denn... Nur noch 2 kurze Hinweise:
1.) contemplate ermöglicht sowas (fast) per klick und post komplett aus drupal heraus... Ohne ftp etc..
2.) es war sehr hilfreich sich das Tabellengerüst mit Hilfe des fckeditors zu bauen und dann aus der Quelltextansicht zu kopieren.
3. Dynamisches Aufklappen der weiterführenden Informationen und (ajax vielleicht??) (siehe oben [+|-] und ...weiter)
Da werd ich mich dann morgen mal dran machen...
Grüsse
Andi
Das war aber grad zu einfach ...
am 29.04.2008 - 00:04 Uhr
3. Dynamisches Aufklappen der weiterführenden Informationen und (ajax vielleicht??) (siehe oben [+|-] und ...weiter)
Grad mal fünf Minuten gegooglet und siehe da...
Eine für mich praktikable Lösung ist die Verwendung der jstools... unter Ausnutzung der bereits vorhandenen Funktionalität von drupal ;) Warum auch das Rad neu erfinden...
Wie wirds gemacht?!
Einfach... Siehe Admin->Module ("collapsible")
Hierzu meine node-downloads.tpl.php mal wieder im ganzen; obwohl sich zum vorigen Post nur 2 Teile geändert haben...
<?php
drupal_add_js('misc/collapse.js');
drupal_add_js('misc/drupal.js');
?>
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<?php print $picture ?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php if ($submitted): ?>
<span class="eingetragen"><?php print t('!date — !username', array('!username' => theme('username', $node), '!date' => format_date($node->created))); ?></span>
<?php endif; ?>
<div class="content">
<table border="0">
<tbody>
<tr>
<td>
<fieldset class="collapsible">
<legend><?php print $node->field_body_teaser[0]['view'] . " "; ?></legend>
<p><font color="#EEE"><?php print $node->content[body]['#value']; ?></font></p>
</fieldset></td>
</td>
<td align="center"><?php print $node->field_screenshot[0]['view']; ?></td>
</tr>
<tr>
<td colspan="2"><?php
if( $node->field_externer_download[0]['view'] != "" )
{ print "Verweis: " . $node->field_externer_download[0]['view'] . " (*)"; }
print $node->content[files]['#value']; ?>
</td>
</tr>
</tbody>
</table>
<?php
if( $node->field_externer_download[0]['view'] != "" )
{ ?>
<br><hr><font size="-2">(*) Achtung: Dieser Verweis öffnet ein neues Fenster und führt zu einem Angebot, welches nicht zu meiner Internetpräsenz gehört</font>;
<?php } ?>
</div>
<div class="clear-block clear">
<div class="meta">
<?php if ($taxonomy): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif;?>
</div>
<?php if ($links): ?>
<div class="links"><?php print $links; ?></div>
<?php endif; ?>
</div>
</div>
Grüsse
Andi[/quote]