[RISOLTO] flash e drupal

5 contenuti / 0 new
Ultimo contenuto
[RISOLTO] flash e drupal

Salve a tutti e grazie perventivamente per il tempo dedicatomi.
Vengo al dunque. Devo integrare una testata in flash in ogni pagina del sito. Ho modificato il file page.tlp.php del mio tempalte e ho inserito i riferimenti al file swf. Il problema sorge quando navigo nelle pagine dell'amministrazione e della ricerca. Il template rimane intatto solo che nn si vede la testata in flash, è come se nn trovasse il file swf. Come mai??
Qualcuno mi sa dire coem risolvere, sto impazzendo.
Ricapitolo: nel mio template ho inserito una testata in flash che si vede finche nn entro in pagine tipo /admin/content...ecc oppure /search/node
questo è il file del page.tlp.php:

<?php // $Id: page.tpl.php,v 1.1 2009/06/12 06:47:41 agileware Exp $ ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="<?php echo $language->language; ?>" xml:lang="<?php echo $language->language; ?>">
  <head>
    <title><?php if (isset($head_title )) echo $head_title; ?></title>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <?php echo $head; ?>
    <?php echo $styles ?>
    <?php echo $scripts ?>
    <!--[if IE 6]><link rel="stylesheet" href="<?php echo $base_path . $directory; ?>/style.ie6.css" type="text/css" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="<?php echo $base_path . $directory; ?>/style.ie7.css" type="text/css" media="screen" /><![endif]-->
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
  </head>
  <body>
    <div class="Main">
      <div class="Sheet">
          <div class="Header">
            <script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#vers... ,'871','height','240','src','testata','quality','high','pluginspage', 'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=Sho... ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#vers... width="871" height="240">
    <param name="movie" value="../testata.swf">
    <param name="quality" value="high">
    <embed src="../testata.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=Sho... type="application/x-shockwave-flash" width="871" height="240"></embed>
  </object>
</noscript>
            </div>
          <div class="nav">
            <?php echo $navigation; ?>
          </div>
          <div class="contentLayout">
            <?php if ($left) echo '<div class="sidebar1">' . $left . "</div>";
                  else if (
$sidebar_left) echo '<div class="sidebar1">' . $sidebar_left . "</div>";?>

            <div class="<?php $l = NULL; if ($left) $l = 'left'; else if ($sidebar_left) $l = 'sidebar_left';
                             
$r = NULL; if ($right) $r = 'right'; else if ($sidebar_right) $r = 'sidebar_right';
                              echo
artxGetContentCellStyle($l, $r, $content); ?>
">
              <div class="Post">
                <div class="Post-body">
                  <div class="Post-inner">
                    <div class="PostContent">
                      <?php if ($tabs): echo '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
                      <?php if ($title): echo '<h2 class="PostHeaderIcon-wrapper'. ($tabs ? ' with-tabs' : '') .'">'. $title .'</h2>'; endif; ?>
                      <?php if ($tabs): echo $tabs . '</div>'; endif; ?>
                      <?php if ($tabs2): echo '<ul class="tabs secondary">'. $tabs2 .'</ul>'; endif; ?>
                      <?php if ($mission): echo '<div id="mission">' . $mission . '</div>'; endif; ?>
                      <?php if ($help): echo $help; endif; ?>
                      <?php if ($show_messages && $messages): echo $messages; endif; ?>
                      <?php echo art_content_replace($content); ?>
                    </div>
                    <div class="cleared"></div>
                  </div>
                </div>
              </div>
            </div>
            <?php if ($right) echo '<div class="sidebar2">' . $right . "</div>";
                  else if (
$sidebar_right) echo '<div class="sidebar2">' . $sidebar_right . "</div>";?>

          </div>
          <div class="Footer">
        </div>
      </div>
  </body>
</html>

Grazie mille

Al posto di ../testata.swf prova ad inserire il percorso assoluto.

Altrimenti, un problema esattamente come il tuo, lo ho risolto insrendo nel tag head:
<script type="text/javascript" src="<?php print base_path().path_to_theme() ?>/flash/swfobject.js?g"></script>

ed il codice per il filmato in flash:

<script type="text/javascript">
<!--
var so = new SWFObject("<?php print base_path().path_to_theme() ?>/flash/header.swf", "flash","100%", "140", "5", "#000000");
     so.addParam("quality", "hight");
     so.addParam("salign", "c");
so.write("flash");
// -->
</script>

Crei una cartella flash che metti nella cartella del tuo tema con dentro il swfobject.js, reperibile facilmente in internet, ed il tuo file flash.

ciao krima, grazie per la risposta ma la soluzione che mi proponi nn funziona. nelle pagine di amministrazione continua a non vedersi la testata in flash e nemmeno in quelle di ricerca (o meglio nn nella pagina /search ma nella pagina /search/node una volta cliccato su cerca in pratica). cmq ho usato il link assoluto che mi sembra meglio, grazie.

help me please :-)

RISOLTOOOOO

Ho riscritto il codice che richiamava l'oggetto flash.

Adesso il codice nel div dell'header e:

<div class="Header">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#vers... width="871" height="240">
<param name="movie" value="<?php print base_path().path_to_theme() ?>/testata.swf">
<param name="quality" value="high">
<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="871" height="240" src="<?php print base_path().path_to_theme() ?>/testata.swf" quality="high">
</embed>
</object>
</div>

Remix: il codice così funziona, ma è un modo un po' "vecchio stitle" per inserire i contenuti in flash.

Dentro drupal, il modulo a mio avviso più utile per fare questo tipo di cose è swftools http://drupal.org/project/swftools , che ti mette a disposizione una funzione facile facile:

<?php
 
print swf('mymovie.swf');
 
?>

nella configurazione del modulo puoi scegliere di usare diverse tecniche "moderne" che ti risolvono un po' di problemi comuni (tipo la cosa di explorer 6 che richiede di cliccare sul flash per attivarlo, cosa succede se non hanno il flash installato eccetera). Se usi flash e drupal, è sicuramente una cosa a cui dare un'occhiata.

ciao! :)

Mario Vercellotti (Vermario)
Freelance
http://www.verdevelop.com