Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 19. März 2012 20:12
- irrlicht
- hat von CMS/ms gehört
- Registriert: 10. März 2012
- Beiträge: 5
News-Modul: Im Backend zeigen, ob ein Anhang vorhanden ist.
Moin Leute.
Ich bearbeite zur Zeit die Anzeige im Backend des Newsmoduls ein wenig.
Es gibt drei Felder für einen Dateianhang ("Anhang", "Anhang2", "Anhang3").
Gibt es eine Möglichkeit, in der Artikelliste im Backend anzuzeigen, ob der Eintrag einen solchen Anhang besitzt?
Ich habe eine neue Tabellenspalte erstellt und versuche nun, ein X zu setzen, wenn der Eintrag einen Anhang besitzt.
Im Frontend wird die Schleife um $entry->fields gesetzt, also dachte ich
<td>{if isset($entry->fields)}X{/if}</td>
könnte helfen.
Das tut es aber nicht. Hat jemand einen Hinweis oder ist das (schon wieder *g*) einfach nicht vorgesehen?
Achso: Ich bin mir im Klaren darüber, dass ich mir viel Arbeit mache, wenn es mal ein Update für das Modul gibt. Lässt sich nur zur Zeit nicht ändern...
Offline
#2 19. März 2012 20:33
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: News-Modul: Im Backend zeigen, ob ein Anhang vorhanden ist.
Hat jemand einen Hinweis oder ist das (schon wieder *g*) einfach nicht vorgesehen?
Für das Backend verwendet das News-Modul ebenfalls Smarty ... du könntest also zunächst in der articlelist.tpl mal ein {$entry|print_r} eingeben und dir dann in der Ausgabe anschauen, welche Daten vorhanden sind.
Achso: Ich bin mir im Klaren darüber, dass ich mir viel Arbeit mache, wenn es mal ein Update für das Modul gibt.
Nicht zwingend ... evtl. hilft dir dazu dieser Beitrag weiter
Offline
#3 19. März 2012 20:50
- irrlicht
- hat von CMS/ms gehört
- Registriert: 10. März 2012
- Beiträge: 5
Re: News-Modul: Im Backend zeigen, ob ein Anhang vorhanden ist.
Für das Backend verwendet das News-Modul ebenfalls Smarty ... du könntest also zunächst in der articlelist.tpl mal ein {$entry|print_r} eingeben und dir dann in der Ausgabe anschauen, welche Daten vorhanden sind.
Keine schlechte Idee. Nur leider sehe ich nichts, was weiterhelfen könnte. Du?
stdClass Object ( [id] => 62 [title] => Titel [data] => TEXT [expired] => 0 [postdate] => 2012-03-09 17:48:36 [startdate] => 2012-01-19 19:39:55 [enddate] => 2012-10-19 19:39:55 [u_postdate] => 1331311716 [u_startdate] => 1326998395 [u_enddate] => 1350668395 [status] => Veröffentlicht [approve_link] => Status auf „Entwurf“ setzen [category] => Test [rowclass] => row2 [select] => [editlink] => Bearbeiten [deletelink] => Löschen [copylink] => Artikel kopieren ) 1
Nicht zwingend ... evtl. hilft dir dazu dieser Beitrag weiter
http://www.cmsmadesimple.de/forum/viewtopic.php?id=629
Danke... Leider musste ich auch die action.*.php-Dateien verändern, und das geht mit module_custom nicht. Naja, so bleibt man wenigstens fit
Offline
#4 19. März 2012 21:14
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: News-Modul: Im Backend zeigen, ob ein Anhang vorhanden ist.
Bei der Artikel-Liste werden die zugehörigen Inhate bzw. Extra-Felder nicht geladen, weil für die Liste eben nicht benötigt. Dazu muss man leider die Datei function.admin_articlestab.php ändern. Dort muss man die Datenbank-Abfrage so ändern, dass zu jedem Artikel auch die Extra-Felder ausgelesen und dann im Entry-Object mit an Smarty übergeben werden.
Du könntest aber auch stattdessen ein Plugin verwenden. Dann brauchst Du (mit Hilfe von module_custom) im Template nur dieses Plugin aufzurufen. Sowas ähnliches habe ich mal mit GBFilePicker gemacht. Da habe ich eine Smarty-Variable an das Plugin übergeben, diese Variable verändert und dann erneut an Smarty übergeben. Dadurch hatte ich dann einen Filepicker beim Bearbeiten von News-Artikeln.
Mal als Ansatz ein fiktives Bsp.:
Template articlelist.tpl
...
{dein_plugin items=$items}
{foreach from=$items item=entry}
...
{if $entry->anhang} ... {/if}
{/foreach}
Und im Plugin
<?php
smarty_function_dein_plugin($params, &$smarty)
{
$db =& cmsms()->GetDb();
foreach($params['items'] as $k => $one_item)
{
...
db query aufbauen/anfrage formulieren/one_item einen entsprechenden Eintrag hinzufügen
...
$one_item->anhang = ... ;
$params['items'][$k] = $one_item;
}
$smarty->assign('items', $params['items']);
}
?>
Dann musst Du keine Core-Dateien verändern.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
Seiten: 1