Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 05. April 2012 16:30

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Uploads-Modul Upload-Kategorie auswählen

Hi,

hat zwar unmittelbar mit meinem aktuellen Projekt zu tun, aber ist sicher auch für andere interessant, da ich noch nichts (aktuelles) dazu gefunden habe.

Ich möchte gerne, dass (in diesem Fall) Schriften über die Upload-Seite des Upload-Moduls hochgeladen werden können. Da diese nach Kategorien und entsprechenden Unterordnern sortiert sind/werden sollen, möchte ich beim Upload-Formular eine Kategorie-Auswahl anbieten und nicht, wie vom Modul erzwungen, die Kategorie im Modulaufruf verankern. So möchte ich erstens vermeiden, dass ich für jede Kategorie eine eigene Seite anlegen muss und zweitens dass ich bei neuen Kategorien immer daran denken muss, dafür auch wieder eine Upload-Seite anzulegen.

Alle Lösungen, die ich gefunden habe, sind alt (2010 und älter). Zum Einsatz kommt die jeweils neueste Version von CMSms (1.10.3) und Uploads (1.14.2).

Hat jemand eine Idee? Kann man evtl. im Backend erst mal eine Variable als Kategorie angeben ({Uploads mode='upload' category=$ulcat}) und diese dann durch ein Feld/Dropdown im Fronten füllen lassen?

Danke...

Offline

#2 05. April 2012 17:22

uniqu3
Server-Pate
Ort: Feldkirchen in Kärnten
Registriert: 20. November 2010
Beiträge: 305
Webseite

Re: Uploads-Modul Upload-Kategorie auswählen

Mit urlparam= im cms_selflink kannst Du ja Parameter übergeben wie Name der Kategorie und danach eben $smarty.get für category= verwenden, könntest ebenso auch ein Feld/Dropdown auf die selbe weise bauen.

Offline

#3 06. April 2012 18:36

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Re: Uploads-Modul Upload-Kategorie auswählen

Hm, hab ich noch nicht hinbekommen. Werde aber noch mal weiter forschen. Habs auch schon mit $smarty.get.page probiert. Geht aber auch nur, wenn die Seite existiert und das Formular in der entsprechenden Seite aufgerufen wird.

Eigentlich echt komisch, dass es noch nicht implementiert ist. Es wurde schon so oft (mindestens seit 2006) gefordert und für das Frontend nicht eingebaut. Im Backend gibt es das aber. Will ich dort eine Datei hochladen, kann ich dabei die Kategorie auswählen.

Hab mir auch schon gedacht, dass ein eigenes Formular (->eigene Seite) für jede Kategorie eigentlich gar nicht so schlimm ist. Wenn die Kategorien erst mal stehen (z.B. wie bei Fontsquirrel), wird ja nichts mehr dazu kommen.

Offline

#4 08. April 2012 20:01

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Uploads-Modul Upload-Kategorie auswählen

Einfach mal mit {get_template_vars} schauen, welche Variablen auf der uploads-Seite zur Verfügung stehen wink.

Offline

#5 09. April 2012 14:16

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Re: Uploads-Modul Upload-Kategorie auswählen

Hi,

im Frontend sehe ich nichts interessantes. Im Backend schon - da gibt es das Array "categories". Diese funktioniert aber auch nur dort und gibt genau die Werte aus, die ich gerne im Frontend hätte ...

Ich vermute mal, dass es dieser Part aus der "action.upload_admin.php" ist:

[== php ==]
$categorylist = array();
{
  $query =
    "SELECT upload_category_id AS id, upload_category_name AS name FROM ".cms_db_prefix ().
       "module_uploads_categories ORDER BY upload_category_name ASC";
  $tmp = $db->GetArray($query);
  for( $i = 0; $i < count($tmp); $i++ )
    {
      $categorylist[$tmp[$i]['id']] = $tmp[$i]['name'];
    }
}

Und hier wird dann die Variable draus:

[== php ==]
$smarty->assign('categories',$categorylist);

Richtig?

If ja:
Die Variable selbst bekomme ich doch sicher per UDT ins Upload-Template:

[== UDT "list_categories"==]
$db = cmsms()->GetDb();
$categorylist = array();
{
  $query =
    "SELECT upload_category_id AS id, upload_category_name AS name FROM ".cms_db_prefix ().
       "module_uploads_categories ORDER BY upload_category_name ASC";
  $tmp = $db->GetArray($query);
  for( $i = 0; $i < count($tmp); $i++ )
    {
      $categorylist[$tmp[$i]['id']] = $tmp[$i]['name'];
    }
}
$smarty->assign('categories',$categorylist);

Aber leider gibt mir sowohl der Aufruf {$categories} als auch der von {list_categories|print_r} (UDT) nichts aus. Lediglich bei {$categories|print_r} bekomme ich eine "1" ausgegeben.
Bei den template_vars taucht auch nichts davon auf.

Mein Kopf qualmt schon von diesen ganzen kleinen Baustellen ...

Offline

#6 10. April 2012 11:04

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Re: Uploads-Modul Upload-Kategorie auswählen

Mühsam ernährt sich das Eichhörnchen...

Habe den UDT {list_categories} mittlerweile so abgeändert:

[== UDT ==]
global $gCms;
		$db =& $gCms->GetDB();
		$categorylist = array();
		$query = "SELECT * FROM ".cms_db_prefix()."module_uploads_categories ORDER BY upload_category_name ASC";
		$dbresult = $db->Execute( $query );
		
		while( $row = $dbresult->FetchRow() )
		{
			$categorylist[$row['upload_category_id']] = $row['upload_category_name'];
		}
$smarty->assign('categories',$categorylist);

Das habe ich in der "Uploads.module.php" als Funktion gefunden und noch ID und NAME getauscht, da ich sonst nur die ID bekam.

Nun packe ich folgenden Code ins Upload-Template (hinter {$startform}):

[== smarty ==]
{list_categories}
<select name="{$actionid}category_id">
{html_options options=$categories}
</select>

Das Dropdown wird auch richtig gefüllt, solange ich dem Modulaufruf noch eine feste Kategorie mitgebe.
Aber letztendlich möchte ich das Modul so aufrufen:
{Uploads mode='upload' category=$cur_cat} oder {Uploads mode='upload' category=$actionid|cat:"category_id"}

Klappt natürlich nicht (mit dem Fehler, dass keine Kategorie angegeben wurde).

Was kann ich hier tun?

Offline

#7 25. Juli 2012 19:54

quickpen
hat von CMS/ms gehört
Registriert: 25. Juli 2012
Beiträge: 1

Re: Uploads-Modul Upload-Kategorie auswählen

Hallo,

ich stehe vor  dem gleichen Problem, dass ich die Dateien per Dropdown einer Kategorie hoch laden möchte, kann mir eventuell einer helfen wie ich es realisieren könnte. Bin leider ein absoluter neuling auf diesem Gebiet sad

Dropdown Menü wie jeff1980 das beschrieben hat, habe ich erstellen nur der Aufruf von dem Uploads Modul geht leider nicht bzw. ich weiss leidern nicht wie ich es aufrufen soll.

{cms_module module="Uploads" category=$category_id ??? action='upload'}

Ich bin für jede Hilfe Dankbar!

Viele Grüße
Nik

Offline