Knowledgebase:FAQ:Mediamanager

From Cloudrexx Development Wiki
Jump to: navigation, search

Dieser Artikel beschreint die Software Contrexx. Das neue Handbuch zu Cloudrexx wird unter support.cloudrexx.com bereit gestellt.

FAQ

Allgemeines

Design & Navigation

Module

Fehlerbehebung

Keine Datei-Symbole im Mediamanger

Frage

Mir ist aufgefallen, dass es zum Modul diverse GIF-Bilder, passend zu Dateiendungen, gibt. Weiss jemand, warum diese bei mir nicht angezeigt werden?

Antwort

Allem Anschein nach wurden die Bilder nicht richtig auf den Server geladen. Lade doch einfach nochmals alle Dateien des Verzeichnis /images/modules/* auf den Server.

Weitere Dateisymbole hinzufügen

Frage

Wie kann ich die Dateisymbole erweiteren?

Antwort

Für alle Dateiendungen, die kein entsprechendes GIF-Bild in 999images/module/media999 besitzen, nimmt Contrexx automatisch _blank.gif! Es muss also nur ein Bild mit dem entsprechenden Namen in diesen Ordner kopiert werden.

 Beispiel:
 MP3 -> mp3.gif
 MOV => mov.gif

Ordner verstecken

Frage

Gibt es eine Möglichkeit, Ordner mit bestimmten Namen beim Inhaltslisting des Media-Manager auszublenden?

Antwort

Dazu öffnest Du das File core_modules/media/index.class.php und suchst folgenden Block (Zeile ~182-212):

for($x = 0; $x < count($dirTree[$key]['icon']); $x++){
      $class = ($i % 2) ? 'row2' : 'row1';
      
      $this->_objTpl->setVariable(array(  // file
          'MEDIA_DIR_TREE_ROW'  => $class,
          'MEDIA_FILE_ICON'     => $this->iconWebPath . $dirTree[$key]['icon'][$x] . '.gif',
          'MEDIA_FILE_NAME'     => $dirTree[$key]['name'][$x],
          'MEDIA_FILE_SIZE'     => $this->_formatSize($dirTree[$key]['size'][$x]),
          'MEDIA_FILE_TYPE'     => $this->_formatType($dirTree[$key]['type'][$x]),
          'MEDIA_FILE_DATE'     => $this->_formatDate($dirTree[$key]['date'][$x]),
      ));
      
      if($key == 'dir'){
          $tmpHref= '?section=' . $this->archive . '&amp;path=' . $this->webPath . $dirTree[$key]['name'][$x] . '/';
      }
      elseif($key == 'file'){
          if($this->_isImage($this->path . $dirTree[$key]['name'][$x])){
                $tmpSize = getimagesize($this->path . $dirTree[$key]['name'][$x]);
                $tmpHref = 'javascript: preview(\'' . $this->webPath . $dirTree[$key]['name'][$x] . '\', ' . $tmpSize[0] . ', ' . $tmpSize[1] . ');';
          }else{
              $tmpHref = '?section=' . $this->archive . '&amp;act=download&amp;path=' . $this->webPath . '&amp;file='. $dirTree[$key]['name'][$x];
          }
      }
      
      $this->_objTpl->setVariable(array(
          'MEDIA_FILE_NAME_HREF'  => $tmpHref
      ));
      
      $this->_objTpl->parse('mediaDirectoryTree');
      $i++;
  }

Diesen änderst Du wie folgt ab:

for($x = 0; $x < count($dirTree[$key]['icon']); $x++){
      $class = ($i % 2) ? 'row2' : 'row1';
      
      if ($dirTree[$key]['name'][$x] != 'BEISPIEL') {
        $this->_objTpl->setVariable(array(  // file
            'MEDIA_DIR_TREE_ROW'  => $class,
            'MEDIA_FILE_ICON'     => $this->iconWebPath . $dirTree[$key]['icon'][$x] . '.gif',
            'MEDIA_FILE_NAME'     => $dirTree[$key]['name'][$x],
            'MEDIA_FILE_SIZE'     => $this->_formatSize($dirTree[$key]['size'][$x]),
            'MEDIA_FILE_TYPE'     => $this->_formatType($dirTree[$key]['type'][$x]),
            'MEDIA_FILE_DATE'     => $this->_formatDate($dirTree[$key]['date'][$x]),
        ));
        
        if($key == 'dir'){
            $tmpHref= '?section=' . $this->archive . '&amp;path=' . $this->webPath . $dirTree[$key]['name'][$x] . '/';
        }
        elseif($key == 'file'){
            if($this->_isImage($this->path . $dirTree[$key]['name'][$x])){
                $tmpSize = getimagesize($this->path . $dirTree[$key]['name'][$x]);
                $tmpHref = 'javascript: preview(\'' . $this->webPath . $dirTree[$key]['name'][$x] . '\', ' . $tmpSize[0] . ', ' . $tmpSize[1] . ');';
            }else{
                $tmpHref = '?section=' . $this->archive . '&amp;act=download&amp;path=' . $this->webPath . '&amp;file='. $dirTree[$key]['name'][$x];
            }
        }
        
        $this->_objTpl->setVariable(array(
            'MEDIA_FILE_NAME_HREF'  => $tmpHref
        ));
        
        $this->_objTpl->parse('mediaDirectoryTree');
        $i++;
      }
  }

Dadurch wird der Ordner mit dem Namen BEISPIEL nicht länger gelistet.

Mehr als 3 Media-Archive

Frage

Gibt es die Möglichkeit, einen 4. Ordner zu erstellen?

Antwort

Jawohl, das geht wie folgt:

  • Per FTP einen Ordner (media/archive4) erstellen
  • Die Datei config/set_constants.php mit folgenden Zeilen ergänzen:
define('ASCMS_MEDIA4_PATH',                    ASCMS_DOCUMENT_ROOT.'/media/archive4');
  define('ASCMS_MEDIA4_WEB_PATH',                ASCMS_PATH_OFFSET.'/media/archive4');
  • Die Datei core_modules/media/admin.class.php anpassen. Die entsprechenden Zeilen (~84) sollten einfach zu finden sein.
  $this->arrPaths     = array(ASCMS_MEDIA1_PATH . '/',
                              ASCMS_MEDIA2_PATH . '/',
                              ASCMS_MEDIA3_PATH . '/',
                              ASCMS_MEDIA4_PATH . '/',
                              ASCMS_CONTENT_IMAGE_PATH . '/',
                              ASCMS_THEMES_PATH . '/');
                          
  $this->arrWebPaths  = array('archive1'    => ASCMS_MEDIA1_WEB_PATH . '/',
                              'archive2'    => ASCMS_MEDIA2_WEB_PATH . '/',
                              'archive3'    => ASCMS_MEDIA3_WEB_PATH . '/',
                              'archive4'    => ASCMS_MEDIA4_WEB_PATH . '/',
                              'content'    => ASCMS_CONTENT_IMAGE_WEB_PATH . '/',
                              'themes'    => ASCMS_THEMES_WEB_PATH . '/');
  • Und dann noch die Zeile ~130 im selben File anpassen:
$objTemplate->setVariable('CONTENT_NAVIGATION', '
                <a href="index.php?cmd=media&amp;archive=archive1">'. $_ARRAYLANG['TXT_MEDIA_ARCHIVE'] .' #1</a>
                <a href="index.php?cmd=media&amp;archive=archive2">'. $_ARRAYLANG['TXT_MEDIA_ARCHIVE'] .' #2</a>
                <a href="index.php?cmd=media&amp;archive=archive3">'. $_ARRAYLANG['TXT_MEDIA_ARCHIVE'] .' #3</a>
                <a href="index.php?cmd=media&amp;archive=archive4">'. $_ARRAYLANG['TXT_MEDIA_ARCHIVE'] .' #4</a>
            ');
  • Die Datei core_modules/media/index.class.php anpassen. Zeile ist ~63.
$this->arrPaths = array(ASCMS_MEDIA1_PATH . '/',
                          ASCMS_MEDIA2_PATH . '/',
                          ASCMS_MEDIA3_PATH . '/',
                          ASCMS_MEDIA4_PATH . '/');
                          
  $this->arrWebPaths = array('media1' => ASCMS_MEDIA1_WEB_PATH . '/',
                             'media2' => ASCMS_MEDIA2_WEB_PATH . '/',
                             'media3' => ASCMS_MEDIA3_WEB_PATH . '/',
                             'media4' => ASCMS_MEDIA4_WEB_PATH . '/');
  • In der Datenbank in der Tabelle contrexx_modules folgende Zeile einfügen.
INSERT INTO `contrexx_modules` VALUES (32, 'media4', 'TXT_MEDIA_MODULE_DESCRIPTION', 'y', 0, 1);
  • Datei index.php (Hauptverzeichnis) öffnen und folgende Anpassung auf Zeile ~450 durchführen:
//-------------------------------------------------------
// media Core
//-------------------------------------------------------
case "media1":
case "media2":
case "media3":
case "media4":
  if(!isset($sessionObj)|| !is_object($sessionObj)) $sessionObj = &new cmsSession();
  $modulespath = ASCMS_CORE_MODULE_PATH . '/media/index.class.php';
  if (file_exists($modulespath)) require_once($modulespath);
  else die ($_CORELANG['TXT_THIS_MODULE_DOESNT_EXISTS']);
  $objMedia = &new MediaManager($page_content, $section);
  $objTemplate->setVariable('CONTENT_TEXT', $objMedia->getMediaPage());
break;
  • Zu guter letzt im Content-Manger eine analoge Seite zu "Media Archiv #2" oder "Media Archiv #3" erstellen. Achtung: Unter Erweiterte Optionen das Modul "Media 4" auswählen!