zusätzliches JavaScript einem Contenttyp zuweisen (omega-Theme)
am 15.03.2013 - 16:40 Uhr in
Hallo Forum,
nachdem ich einem Contentype (wettermap) zwei DIVs zugewiesen habe und zusätzlich Drupal sage, dass es bei besagtem Contenttype JavScript adden will, wirkt es so als würde das entsprechende JavaScript nicht ausgeführt. Hier erst einmal was ich besitzt:
Drupal 7.21
Theme: Omega Subtheme
Was habe ich gemacht:
eine node--wettermap.tpl.php erzeugt und zwei DIVs hinzugefügt
der template.php des Subthemes eine Funktion hinzugefügt die die entsprechenden JavaScript-Dateien beim Aufruf einer Seite mit dem COntenttype "Wettermap" zulädt.
Im Quelltext werden die Dateien auch geladen, nur leider lösen sie nichts aus ich bräuchte da ein wenig Hilfe.
Hier einmal der Link von meinem Original ohne Drupal:
LINK
und hier das Drupalziel:
LINK
Hier der Code der die JavaScript-Dateien implementiert:
<?php
function hemcau_alpha_preprocess_page(&$vars)
{
if(isset($vars['node']))
{
if($vars['node']->type == 'wettermap')
{
drupal_add_js('sites/all/libraries/openlayers/lib/OpenLayers.js');
drupal_add_js('sites/all/libraries/highcharts/highcharts.js');
drupal_add_js('sites/all/libraries/highcharts/modules/exporting.js');
drupal_add_js('sites/all/libraries/mapjs/wettermap.js');
}
}
}
?>und eventuell auch noch einmal der Code der die DIVs dem Contenttype hinzufügt:
<article<?php print $attributes; ?>>
<?php print $user_picture; ?>
<?php print render($title_prefix); ?>
<?php if (!$page && $title): ?>
<header>
<h2<?php print $title_attributes; ?>><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
</header>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($display_submitted): ?>
<footer class="submitted"><?php print $date; ?> -- <?php print $name; ?></footer>
<?php endif; ?>
<div<?php print $content_attributes; ?>>
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print render($content);
?>
</div>
<div id="wettermap" class="wettermap">testest</div>
<div id ="highcharts">testest</div>
<div class="clearfix">
<?php if (!empty($content['links'])): ?>
<nav class="links node-links clearfix"><?php print render($content['links']); ?></nav>
<?php endif; ?>
<?php print render($content['comments']); ?>
</div>
</article> für eure Hilfe bin ich euch sehr Dankbar!
mit freundlichem Gruß
Andy
- Anmelden oder Registrieren um Kommentare zu schreiben

body onload="init()" und jQuery
am 16.03.2013 - 10:36 Uhr
Okay, ich habe die zwei wahrscheinlichen Fehler gefunden. Der erste Fehler ist, dass ich dem Body-Tag kein
onload="init()mitgebe und somit die Karte gar nicht angezeigt wird. Und beim zweiten muss ich die Funktion $(function...) natürlich umarbeiten.mal sehen wann ich da mit den Fragen komme.
mit freundlichem Gruß
Andy