Seite 1 von 1

Probleme mit iframe-Modul

Verfasst: Fr 13. Jan 2006, 09:22
von Moudi
Hallo Leute,

Kurz zur Vorgeschichte: Ich habe gerade eine Sitebetreuung übernommen und mein Vorgänger arbeitet mit Contenido, was ich bis anhin nicht getan habe, bin jedoch begeistert.

Nun habe ich ein Problem mit einem iframe-Module das mein Vorgänger integriert hat (kann auch am Template liegen, glaub ich aber nicht).

Problem: Ich nutze das erstellte iframe-Template um ein externes Tool einzubinden, das externe Tool funzt auch, es wird jedoch nicht der volle Platz genutzt. Sobald das Tool grösser als die Hälfte des eigentlich zur Verfügung stehenden Platzes wird, erscheint bereits ein Scrollbalken...
Eigentlich wäre es hilfreich, wenn das iframe immer diese Länge annähme, die das dynamische Tool hat.

Im Grunde ist's einfach unsauber wenn's einen Scrollbalken gibt.

Ich habe auch schon versucht, das Tool direkt einzubinden, also nicht über ein iframe, aber dann habe ich lauter Fehler auf der Seite, das Layout stimmt nicht mehr, Container fallen aus, kann den Artikel nicht mehr bearbeiten, wird also irreparabel (kann ihn nur noch löschen).

Eingabe:

Code: Alles auswählen

$moddir         =   "upload/html"; 

// VALUES 
$sky_selectedfile   =   "CMS_VALUE[4000]"; 
$sky_iframe_width   =    "CMS_VALUE[4001]"; 
$sky_iframe_height      =    "CMS_VALUE[4002]"; 
$sky_iframe_border      =    "CMS_VALUE[4003]"; 
$sky_iframe_style       =    "CMS_VALUE[4004]";   // not used till yet 
$sky_iframe_class       =    "CMS_VALUE[4005]";   // not used till yet 
$sky_iframe_httpinput   =    "CMS_VALUE[4006]"; 

// VARIABLES 
$sky_selectedfile2   =   "CMS_VAR[4000]"; 
$sky_iframe_width2   =    "CMS_VAR[4001]"; 
$sky_iframe_height2     =    "CMS_VAR[4002]"; 
$sky_iframe_border2     =    "CMS_VAR[4003]"; 
$sky_iframe_style2      =    "CMS_VAR[4004]";   // not used till yet 
$sky_iframe_class2      =    "CMS_VAR[4005]";   // not used till yet 
$sky_iframe_httpinput2  =    "CMS_VAR[4006]";    



// starting Modul Options Table 
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">"; 


// ################################################################################################ 
//  START FileChoose 
// ################################################################################################ 

/* based on contenido internal upl function */ 
function sky_listdir_recursive ($currentdir, $startdir=NULL, $files=array(), $depth=-1, $pathstring="") 
{ 
    $depth++; 

    $unsorted_files = array(); 

    if (chdir ($currentdir) == false) 
    { 
       return; 
    } 

    // remember where we started from 
    if (!$startdir) { 
        $startdir = $currentdir; 
    } 
    $d = opendir ("."); 

    //list the files in the dir 
    while ($file = readdir ($d)) { 
        if ($file != ".." && $file != ".") { 
                $unsorted_files[] = $file; 
        } 
    } 
    if (is_array($unsorted_files)) sort($unsorted_files); 
    $sorted_files = $unsorted_files; 

    if(is_array($sorted_files)) { 
        foreach ($sorted_files as $file) { 
            if ($file != ".." && $file != ".") { 

                if ((filetype(getcwd()."/".$file) == "dir") && 
                    (opendir(getcwd()."/".$file) !== false)) { 
                    $a_file['name']  = $file; 
                    $a_file['depth'] = $depth; 
                    $a_file['pathstring']  = $pathstring.$file.'/';; 

                    $files[] = $a_file; 
                    // If $file is a directory take a look inside 
                    $files = sky_listdir_recursive (getcwd().'/'.$file, getcwd(), $files, $depth, $a_file['pathstring']); 
                } else { 
                    // If $ file is not a directory then do nothing 
                    $a_file['name']  = $file; 
                    $a_file['depth'] = $depth; 
                    $a_file['pathstring']  = $pathstring; 

                    $files[] = $a_file;                    
                } 
            } 
        } 
    } 

    closedir ($d); 
    chdir ($startdir); 
    return $files; 
} 



echo "  <tr valign=\"top\"> 
          <td class=\"text_medium\">Datei ausw&auml;hlen:</td> 
          <td class=\"text_medium\"> 
            <select class=\"text_medium\" name=\"".$sky_selectedfile2."\">"; 
            
if ( $sky_selectedfile = "--KEIN--" ) 
{ 
   echo "        <option value=\"--KEIN--\" selected=\"selected\">-- KEIN --</option>";            
} 
else 
{ 
   echo "        <option value=\"--KEIN--\">-- KEIN --</option>";            
} 
            

$sql = 'SELECT frontendpath FROM ' . $cfg["tab"]["clients"].' WHERE idclient = "'.$client.'"'; 
$db->query( $sql ); 
$db->next_record(); 
$l_upldir = $db->f("frontendpath"); 

function blub ( $vid , $vtxt) 
{ 
echo '<option value="'.$vid.'">'.$vtxt.'</option>'; 
} 


$sky_uploaddir = $cfgClient[$client]["upl"]["path"] . $moddir; 
$sky_files = sky_listdir_recursive ( $sky_uploaddir , getcwd() ); 


if ( is_array($sky_files) ) 
{ 
   // Array ( [0] => Array ( [name] => cms [depth] => 0 [pathstring] => cms/ ) 
   while (list($lkey, $lvalue) = each ($sky_files)) 
   { 
      if ( file_exists($sky_uploaddir.$lvalue['pathstring'].$lvalue['name'])) 
        { 
         if ( $sky_selectedfile == $lvalue['pathstring'].$lvalue['name'] ) 
         { 
            echo '<option value="'.$lvalue['pathstring'].$lvalue['name'].'" selected="selected">'.$lvalue['pathstring'].$lvalue['name'].'</option>'; 
         } 
         else 
         { 
            echo '<option value="'.$lvalue['pathstring'].$lvalue['name'].'">'.$lvalue['pathstring'].$lvalue['name'].'</option>';          
         } 
      } 
   } 
} 


echo "      </select> 
     </td> 
        </tr>"; 
        
// ################################################################################################        
//   End File Choose 
// ################################################################################################ 

// ################################################################################################ 
//   START HTTPInput 
// ################################################################################################ 

echo "  <tr valign=\"top\">"; 
echo "    <td class=\"text_medium\">HTTP Link:</td>"; 
echo "    <td class=\"text_medium\">"; 

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_httpinput2."\" value=\"".$sky_iframe_httpinput."\"> ";    
echo "       <br>"; 
echo "        Hinweis: HTTP-Link wird nur ber&uuml;cksichtigt, wenn als Dokument <b>-- KEIN --</b> ausgew&auml;hlt wurde !"; 
echo "    </td>"; 
echo "  </tr>"; 

// ################################################################################################ 
//   END HTTPInput 
// ################################################################################################ 


// ################################################################################################ 
//   START IFRAME-WIDTH 
// ################################################################################################ 
echo "  <tr valign=\"top\">"; 
echo "    <td class=\"text_medium\">IFRAME-Width:</td>"; 
echo "    <td class=\"text_medium\">"; 

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_width2."\" value=\"".$sky_iframe_width."\"> ";    

echo "    </td>"; 
echo "  </tr>"; 
// ################################################################################################ 
//   END IFRAME-WIDTH 
// ################################################################################################ 

// ################################################################################################ 
//   START IFRAME-HEIGHT 
// ################################################################################################ 
echo "  <tr valign=\"top\">"; 
echo "    <td class=\"text_medium\">IFRAME-Height:</td>"; 
echo "    <td class=\"text_medium\">"; 

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_height2."\" value=\"".$sky_iframe_height."\"> ";    

echo "    </td>"; 
echo "  </tr>"; 
// ################################################################################################ 
//   END IFRAME-HEIGHT 
// ################################################################################################ 

// ################################################################################################ 
//   START IFRAME-BORDER 
// ################################################################################################ 
echo "  <tr valign=\"top\">"; 
echo "    <td class=\"text_medium\">IFRAME-Border:</td>"; 
echo "    <td class=\"text_medium\">"; 

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_border2."\" value=\"".$sky_iframe_border."\"> ";    

echo "    </td>"; 
echo "  </tr>"; 
// ################################################################################################ 
//   END IFRAME-BORDER 
// ################################################################################################ 

// closing Module Options Table 
echo "</table>";            
Ausgabe:

Code: Alles auswählen

<?php 

// Lese ausgewählte Datei aus. 
$moddir         = "upload/html"; 
$sky_selected_file    = "CMS_VALUE[4000]"; 
$sky_iframe_width   = "CMS_VALUE[4001]"; 
$sky_iframe_height      = "CMS_VALUE[4002]"; 
$sky_iframe_border      = "CMS_VALUE[4003]"; 
$sky_iframe_style       = "CMS_VALUE[4004]";   // not used till yet 
$sky_iframe_class       = "CMS_VALUE[4005]";   // not used till yet 
$sky_iframe_httpinput   = "CMS_VALUE[4006]"; 



// Arbeite Einstellungsvariabeln ab 

// ################################################################################### 
// START - IFRAME-WIDTH 
if ( strlen($sky_iframe_width) > 0 ) 
{ 
   $ls_iframe_width = $sky_iframe_width; 
} 
else 
{ 
   $ls_iframe_width = "100%"; 
} 
// END - IFRAME-WIDTH 
// ################################################################################### 

// ################################################################################### 
// START - IFRAME-HEIGHT 
if ( strlen($sky_iframe_height) > 0 ) 
{ 
   $ls_iframe_height = $sky_iframe_height; 
} 
else 
{ 
   $ls_iframe_height = "100%"; 
} 
// END - IFRAME-HEIGHT 
// ################################################################################### 

// ################################################################################### 
// START - IFRAME-BORDER 
if ( strlen($sky_iframe_border) > 0 ) 
{ 
   $ls_iframe_border = $sky_iframe_border; 
} 
else 
{ 
   $ls_iframe_border = "1"; 
} 
// END - IFRAME-BORDER 
// ################################################################################### 


// check for NO FILE Selected 

if ( $sky_selected_file != "--KEIN--" ) 
{ 
   // using selected file 

   // überprüfe ob ausgewählte Datei noch existiert 
   if ( file_exists( $moddir.$sky_selected_file ) ) 
   { 

      // erzeuge IFrame Ausgabecode 
      echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0" border="0">'; 
      echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">'; 
      echo '<iframe src="'.$moddir.$sky_selected_file.'" width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" frameborder="'.$ls_iframe_border.'">'; 
      echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>'; 
      echo '</iframe>'; 
      echo '</td></tr></table>'; 
   } 
   else 
   { 
      // using HTTP Input 
      echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0"  border="0">'; 
      echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">'; 
      echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" frameborder="'.$ls_iframe_border.'">'; 
      echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>'; 
      echo '</iframe>'; 
      echo '</td></tr></table>'; 
   } 
    
} 
else 
{ 
   // using HTTP Input 
   echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0" border="0">'; 
   echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">'; 
   echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" frameborder="'.$ls_iframe_border.'">'; 
   echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>'; 
   echo '</iframe>'; 
   echo '</td></tr></table>'; 
} 

?> 
Ich hoffe auf Hilfe, mein Vorgänger reagiert nämlich auf meine Anfragen nicht...

Liebe Grüsse

Moudi

Verfasst: Fr 13. Jan 2006, 10:48
von Moudi
...explizit geht's um folgendes (für einen visuellen Eindruck des Problems):

http://www.sumiswalder.ch/neu/cms/front ... ?idart=223

Verfasst: Di 7. Mär 2006, 19:53
von Beleuchtfix
Ist das Problem noch aktuell? Die Seite ist nämlich offline.

Im Output Teil ganz unten ist aber einmal height und width vertauscht, das macht mache Probleme.

Gruß
Florian