CMS - Der Dirigent » Support » Anwenderforum
Neue Umfrage | neues Thema | Antworten
DediFlex um {target} erweitern
« Älteres Thema | Neueres Thema » Thema abonnieren | Thema versenden | Thema drucken
roberto | Geschrieben am: 12. Feb 2004 - 10:15 |
Unicoder Gruppe: Tester Beiträge: 1853 Mitgliedsnummer: 343 Mitglied seit: 16. Oct 2003 |
Für alle, die es auch gestört hat, einen Link auf ein Download-File mit {fileurl} nur ohne Angabe eines Target machen zu können: Man konnte zwar ein Target auswählen, das hatte aber keine Auswirkungen auf den generierten HTML-Code. Damit das funktioniert, habe ich die Frontendausgabe des Moduls DeDiFlex so erweitert: mehr CODE // {target} ersetzen $mod['target'] = (int) $mod['start']; while ($mod['tpl_pos'] = strpos (' '.$mod['output'], '{target}')) { $mod['tmp'] = <dedi:mod type="file" id="$mod['target']" mode="target" addslashes="true">; $mod['output'] = substr_replace ($mod['output'], $mod['tmp'], $mod['tpl_pos']-1, 8); $mod['target'] = $mod['target']+1; } Das in Zeile 184 einfügen. Im Template kann man dann {target} benutzen, beispielsweise: mehr CODE <div class="titlelink"><a href="{fileurl}" target="{target}"><img src="cms/img/but_download.gif" border="0">{filedesc}</a>{editfile}</div> <div style="margin-left:20px;margin-bottom:10px">{filename} ({filesize})</div> Ich mache das so, weil beispielsweise bei PDFs u.U. das PDF im selben Browserfenster geöffnet wird (was ich nicht so toll finde). Grüße Roberto -------------------- Lokal: DeDi 1.01; SuSE 8.1 | Apache/1.3.26 & PHP 4.3.10 | MYSQL 3.23.52
|
oberbilker | Geschrieben am: 14. Feb 2005 - 09:14 |
Unregistered |
hallo roberto, genau das habe ich gebraucht, eben aus den gleichen gründen wie du. leider habe ich ein wenig schwierigkeiten deinen code einzufügen, da bei mir die zeile 184 nicht wirklich wie die passende aussieht: zeilen 180-200 mehr CODE $db->query($sql); $sql = "UPDATE ".$dedi_db['content']." SET typenumber=typenumber+100 WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$dedi_mod['container']['id']."' AND typenumber BETWEEN ".$mod['sort']." AND ".$mod['sort2'].""; $db->query($sql); $sql = "UPDATE ".$dedi_db['content']." SET typenumber=typenumber+".$mod['sort']." WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$dedi_mod['container']['id']."' AND typenumber BETWEEN 0 AND 100"; $db->query($sql); // Cache löschen clear_cache(); // Seite neu laden header ('Status: 302 Moved Temporarily'); header ('Location:'.$con_side[$idcatside]['link']); exit; kannst du mir da bitte weiterhelfen? mal eine andere frage, es ist sehr gut, dass du an dieser stelle dfas modul funktioneller machst, aber wird das dann auch vom eigentlichen autor beachtet? sinnvoller wäre ja schon, wenn derjenige den code auch in der orginal-download-datei ändert. greetz, sebastian |
roberto | Geschrieben am: 14. Feb 2005 - 11:18 |
Unicoder Gruppe: Tester Beiträge: 1853 Mitgliedsnummer: 343 Mitglied seit: 16. Oct 2003 |
Du holst hier aber einen hornalten Post hoch. Die Anpassung bezog sich auf das Modul DeDi-Flex Version 0.58. Aktuell ist aber die Version 0.91. Da (und auch bei den Versionen 0.68 und 0.69) stimmt die Zeilennummer natürlich nicht mehr. Auch sonst hat sich der Code ja geändert. Hoffentlich hast Du nichts dagegen, die Anpassung für die Version 0.91 zu posten - auch wenn ich mich nicht mit dem Entwickler des Moduls abgesprochen habe . Die Zeilen 335 - 430 der Frontend-Ausgabe im Modul durch folgenden Code ersetzen: mehr CODE // Steuerungsausgabe if ($dedi_mod['modul']['id'] == '1' && ($dedi_side['edit'] || $dedi_side['edit_all'])) { echo '<div align="right">'; // Elemente ersetzen $mod['elements'] = array('text','textarea','wysiwyg','wysiwyg2','sourcecode','image','imagethumb','imageurl', 'imagewidth','imageheight','link','linkurl','linktarget','linkdesc','editlink','fileurl', 'filetarget', 'editfile','filedesc','filename','filesize'); foreach ($mod['elements'] as $mod['element']) $mod[$mod['element']] = (int) $mod['start']; while(preg_match("/\{(".implode('|',$mod['elements']).")\}/",$mod['output'],$match)){ switch($match[1]) { case "text": $mod['tmp'] = <dedi:mod type="text" id="$mod['text']" addslashes="true">; $mod['text']++; break; case "textarea": $test = 'textarea'; $mod['tmp'] = <dedi:mod type="textarea" id="$mod['textarea']" title="$test" addslashes="true">; $mod['textarea']++; break; case "wysiwyg": $mod['tmp'] = <dedi:mod type="wysiwyg" id="$mod['wysiwyg']" addslashes="true">; $mod['wysiwyg']++; break; case "wysiwyg2": $mod['tmp'] = <dedi:mod type="wysiwyg2" id="$mod['wysiwyg2']" addslashes="true">; $mod['wysiwyg2']++; break; case "sourcecode": $mod['tmp'] = <dedi:mod type="sourcecode" id="$mod['sourcecode']" addslashes="true">; $mod['sourcecode']++; break; case "image": $mod['tmp'] = <dedi:mod type="image" id="$mod['image']" addslashes="true">; $mod['image']++; break; case "imagethumb": $mod['tmp'] = <dedi:mod type="image" id="$mod['imagethumb']" mode="thumb" addslashes="true">; $mod['imagethumb']++; break; case "imageurl": $mod['tmp'] = <dedi:mod type="image" id="$mod['imageurl']" mode="url" addslashes="true">; $mod['imageurl']++; break; case "imagewidth": $mod['tmp'] = <dedi:mod type="image" id="$mod['imagewidth']" mode="width" addslashes="true">; $mod['imagewidth']++; break; case "imageheight": $mod['tmp'] = <dedi:mod type="image" id="$mod['imageheight']" mode="height" addslashes="true">; $mod['imageheight']++; break; case "link": $mod['tmp'] = <dedi:mod type="link" id="$mod['link']" addslashes="true">; $mod['link']++; break; case "linkurl": $mod['tmp'] = <dedi:mod type="link" id="$mod['linkurl']" mode="url" addslashes="true">; $mod['linkurl']++; break; case "linkdesc": $mod['tmp'] = <dedi:mod type="link" id="$mod['linkdesc']" mode="desc" addslashes="true">; $mod['linkdesc']++; break; case "linktarget": $mod['tmp'] = <dedi:mod type="link" id="$mod['linktarget']" mode="target" addslashes="true">; $mod['linktarget']++; break; case "editlink": $mod['tmp'] = <dedi:mod type="link" id="$mod['editlink']" mode="editbutton" addslashes="true">; $mod['editlink']++; break; case "fileurl": $mod['tmp'] = <dedi:mod type="file" id="$mod['fileurl']" mode="url" addslashes="true">; $mod['fileurl']++; break; case "filetarget": $mod['tmp'] = <dedi:mod type="file" id="$mod['filetarget']" mode="target" addslashes="true">; $mod['filetarget']++; break; case "editfile": $mod['tmp'] = <dedi:mod type="file" id="$mod['editfile']" mode="editbutton" addslashes="true">; $mod['editfile']++; break; case "filedesc": $mod['tmp'] = <dedi:mod type="file" id="$mod['filedesc']" mode="desc" addslashes="true">; $mod['filedesc']++; break; case "filename": $mod['tmp'] = <dedi:mod type="file" id="$mod['filename']" mode="url" addslashes="true">; $mod['tmp'] = substr(strrchr($mod['tmp'], '/'), 1); $mod['filename']++; break; case "filesize": $mod['tmp'] = <dedi:mod type="file" id="$mod['filesize']" mode="path" addslashes="true">; if (is_file($mod['tmp'])) { $mod['tmp'] = filesize($mod['tmp']); if ($mod['tmp'] > 1048576) $mod['tmp'] = sprintf( "%01.2f", $mod['tmp']/1048576).' mByte'; else $mod['tmp'] = ($mod['tmp'] > 1024) ? sprintf( "%01.2f", $mod['tmp']/1024).' kByte': $mod['tmp'].' Byte'; } else $mod['tmp'] = ''; $mod['filesize']++; break; } $mod['output'] = preg_replace("/".$match[0]."/",$mod['tmp'],$mod['output'],1); } Für das Target musst Du im Template dann {filetarget} verwenden. Habe ich nur oberflächlich getestet. Sollte so aber funktionieren. -------------------- Lokal: DeDi 1.01; SuSE 8.1 | Apache/1.3.26 & PHP 4.3.10 | MYSQL 3.23.52
|
oberbilker | Geschrieben am: 14. Feb 2005 - 11:38 |
Unregistered |
QUOTE Du holst hier aber einen hornalten Post hoch. oh man, du hast recht, 12.02.04 statt 05. undich hab schon gedacht, na so ein glück aber auch, dass ich den brand neuen thread (kein eintag vor mir) genau passend entdeckt habe. ich benutze ja auch die aktuelle 0.91 version. aber zb. eine gelinkte pdf öffnet sich im selben frame, statt im neuen fenster, wie ausgewählt. also problemstellung wie gehabt. ich teste gleich mal. danke schon mal, ich hoffe ich hab dich nicht zu sehr erschrocken... greetz, seb |
Eppi | Geschrieben am: 14. Feb 2005 - 13:01 |
.....................noname Gruppe: Admin Beiträge: 8077 Mitgliedsnummer: 1 Mitglied seit: 23. Mar 2003 |
trotzdem find ich es klasse, das du dir die mühe machst nach schon bestehenden beiträgen zu suchen und in diesen weiterzuschreiben! gruß, paul -------------------- "Heute ist nicht aller Tage... ich komm wieder, keine Frage!"
|
oberbilker | Geschrieben am: 15. Feb 2005 - 08:51 |
Unregistered |
danke, läuft nu so wie soll bis in einem jahr... greetz, seb* |
Thema wird von 0 Benutzer gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:
5 Antworten seit 12. Feb 2004 - 10:15
Thema abonnieren | Thema versenden | Thema drucken