Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Was bedeutet dieser Fehler: "Cannot redeclare class......" (Modul: Open Flash Chart)

Eingetragen von fryswe (63)
am 19.04.2009 - 18:04 Uhr in
  • Module
  • Drupal 5.x

ich versuche gerade ein open flash chart in eine drupal node zu bekommen (drupal 5). aber irgendwas läuft da schief. außerhalb von drupal funktioniert das teil wunderbar. nur integriert in die entsprechende node-xxx.tpl.php kommt folgender fehler... irgendwelche ideen was der zu bedeuten hat?

Fatal error: Cannot redeclare class line_hollow in \xxx\sites\all\modules\open_flash_chart_api\ofc-library\open-flash-chart.php on line 1376

‹ Nivo-Slider und Bildverlinkungen {gelöst} Link auf User-Profilseiten einbinden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Durch das Einbinden, wird

Eingetragen von Tobias Bähr (4019)
am 19.04.2009 - 18:55 Uhr

Durch das Einbinden, wird diese classe >1 (mehr als einmal) eingebunden. Dh. entweder kannst du schon ohne einbinden der Datei die Funktionalität verwenden oder du musst ein include_once ('/pfad/zur/datei'); machen.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

In der node.tpl.php wird

Eingetragen von md (3717)
am 19.04.2009 - 19:10 Uhr

In der node.tpl.php wird natürlich jede Funktion die deklariert wird, mehrfach deklariert, da die nodes von Drupal ja in einer Schleife aufgerufen werden. Also: keine Funktionen in node Templates deklarieren, sondern diese nur aufrufen. Ein guter Platz für Funktionen ist übrigens ein eigenes Modul für Funktionen. Die braucht man noch nicht mal inkludieren. Das macht Drupal.

Jede Funktion von Drupal oder von Modulen lässt sich problemlos überall aufrufen. In Templates ebenso wie in eigenen Modulen, selbst wenn die mit '_' als "private" gekennzeichnet sind. Ist ja nicht wie in OOP-Sprachen wirklich "private".

Nebenbei: ich denke Google kennt 'fryswe' schon.

vg
--
md - DrupalCenter.de

mdwp* :: Drupal Consulting

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

OT: "private" ist kein

Eingetragen von Alexander Langer (3416)
am 19.04.2009 - 20:04 Uhr

OT:
"private" ist kein Indikator aller OO-Sprachen. OO-Urvater Smalltalk kommt ebenso ohne aus wie dessen geistiges Kind Objective C. Keiner würde aber erstnhaft aud die Idee kommen diesen beiden Sprachen den OO-Status abzuerkennen, zumal sie womöglich gar mehr OO sind als die üblichen Verdächtigen.

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

Suchmaschinenoptimierung (SEO) & Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke für die zahlreichen

Eingetragen von fryswe (63)
am 19.04.2009 - 21:37 Uhr

danke für die zahlreichen antworten. google kenne ich selbstverständlich, konnte da aber keine konkrete lösung für mein problem finden.

es geht mir hier ja um das modul "open flash chart" => http://drupal.org/project/open_flash_chart_api

um den chart in meine node-xxx.tpl.php einzubinden verwende ich folgenden code:

<?php
include_once( '/sites/all/modules/open_flash_chart_api/ofc-library/open-flash-chart.php' );

$g = new graph();
$g->bg = '#E4F0DB';

$g->pie(60,'#FFFFFF','{display:none;}',false,1);

$g->pie_values(
  array(
40,40,10,10),
  array(
'A','B','C','D') );

$g->pie_slice_colours( array('#abbd15','#e5eac0','#4a7e00','#799908') );
$g->set_tool_tip( '#val#% #x_label#' );
$g->bg_colour = '#FFFFFF';

$g->set_width( 150 );
$g->set_height( 150 );

$g->set_output_type('js');
echo
$g->render();
?>

dabei tritt oben genannter fehler auf.

leider is die modul-dokumentation nicht wirklich hilfreich, ob ich den chart wirklich korrekt einbinde => http://drupal.org/node/193294

außerhalb von drupal funktioniert es auf jeden fall wunderbar...

habe es auch schon wie hier beschrieben probiert: http://drupal.org/node/180157

das sieht dann bei mir wie folgt aus:

<?php
require_once './includes/open-flash-chart.php';
require_once
'./includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$g = new graph();
$g->bg = '#E4F0DB';

$g->pie(60,'#FFFFFF','{display:none;}',false,1);

$g->pie_values(
  array(
40,40,10,10),
  array(
'A','B','C','D') );

$g->pie_slice_colours( array('#abbd15','#e5eac0','#4a7e00','#799908') );
$g->set_tool_tip( '#val#% #x_label#' );
$g->bg_colour = '#FFFFFF';

$g->set_width( 150 );
$g->set_height( 150 );

$g->set_output_type('js');
echo
$g->render();
?>

da kommt aber der gleiche fehler, sprich:

Fatal error: Cannot redeclare class line_hollow in xxx\includes\open-flash-chart.php on line 1376

wenn ich das include bzw. im zweiten beispiel require weglasse, bekomme ich übrigens folgenden fehler:

Fatal error: Class 'graph' not found in xxx\themes\xxx\node-xxx.tpl.php on line 100

falls jemand weiß, wie ich bei diesem modul den chart so einbinden kann, dass er funktioniert, dann wäre ich für jede hilfe dankbar! ich verzweifel hier leider schon langsam :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

hm, ich glaube ich habe

Eingetragen von fryswe (63)
am 19.04.2009 - 21:51 Uhr

hm, ich glaube ich habe verstanden und den code jetzt in anlehnung an das beispiel in der dokumentation wie folgt runtergekürzt:

<?php
$g
= new open_flash_chart_api();
$g->pie(60,'#FFFFFF','{display:none;}',false,1);
$g->pie_values(array(40,40,10,10),array('A','B','C','D') );
$g->pie_slice_colours( array('#abbd15','#e5eac0','#4a7e00','#799908') );
$g->set_tool_tip( '#val#% #x_label#' );
$g->bg_colour = '#FFFFFF';
$g->bg = '#E4F0DB';
$g->set_width( 150 );
$g->set_height( 150 );
$g->set_output_type('js');
echo
$g->render();
?>

Allerdings bleibt die Ausgabe leer/blank.

Mit Hilfe von Firebug kann ich im Quelltext aber folgenden Code identifizieren:

<div id="ibc5115641db056f664a3e97bde511e59"/>
<script type="text/javascript">
1
2var so = new SWFObject("/xxx/sites/all/modules/open_flash_chart_api/open-flash-chart.swf", "ofc", "150", "150", "9", "#FFFFFF");
3so.addVariable("variables","true");
4so.addVariable("x_axis_steps","1");
5so.addVariable("y_ticks","5,10,5");
6so.addVariable("line","3,#87421F");
7so.addVariable("y_min","0");
8so.addVariable("y_max","20");
9so.addVariable("bg_colour","#FFFFFF");
10so.addVariable("pie","60,#FFFFFF,{display:none;},1,,1");
11so.addVariable("values","40,40,10,10");
12so.addVariable("pie_labels","A,B,C,D");
13so.addVariable("colours","#abbd15,#e5eac0,#4a7e00,#799908");
14so.addVariable("links","");
15so.addVariable("tool_tip","%23val%23%25+%23x_label%23");
16so.write("ibc5115641db056f664a3e97bde511e59");
17
</script>

er wandelt die sache also korrekt um, der flash-chart wird allerdings (noch) nicht ausgegeben...die seite bleibt wie gesagt leer :-/

  • Anmelden oder Registrieren um Kommentare zu schreiben

hm ok, nun gehts! tausend

Eingetragen von fryswe (63)
am 19.04.2009 - 22:23 Uhr

hm ok, nun gehts!

tausend dank noch mal für die anregungen :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

und an was lag es nun

Eingetragen von Hacky (255)
am 28.10.2010 - 11:06 Uhr

und an was lag es nun ?!?!?!?!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal 10 und Thema Bartik
  • Wie in hook_views_query_alter() einen join auf Tabelle url_alias durchführen?
  • Strukturierte Daten Fehler
  • fbsmp\plugins Hilfe
  • Migration über feeds von D6 auf D8
  • Theme Classy sei installiert, ist aber nicht bei Themes
  • Composer 1 zu Composer 2
  • Bitte um Einschätzung: Upgrade von Drupal 7 auf 9
  • Scroll zu View-Ergebnissen nachdem Filter angewendet ist
  • SQL-Injection? User hat sich Zugriff aufs Admin-Konto geholt und Änderungen vorgenommen.
  • [gelöst] Persönliches Kontaktformular, oder interne User Nachrichten
  • Webform Progress Symbol (Loading icon)?
Weiter

Neue Kommentare

  • Superfish
    vor 2 Stunden 43 Minuten
  • Auch für superfish gibt es
    vor 6 Stunden 14 Minuten
  • Versuchs mal mit
    vor 6 Stunden 9 Minuten
  • Drupal 10 läuft
    vor 7 Stunden 10 Minuten
  • Da wirst Du den Bug wohl selbst beheben müssen
    vor 2 Tagen 2 Stunden
  • Gleiches Problem: bootstrap 4
    vor 4 Tagen 3 Stunden
  • Da wirst Du den Bug wohl
    vor 4 Tagen 6 Stunden
  • Immer noch composer 1 zu 2
    vor 4 Tagen 21 Stunden
  • Beziehung Branche Adresse!
    vor 3 Tagen 7 Stunden
  • Sorry, dann gab es das bei
    vor 4 Tagen 23 Stunden

Statistik

Beiträge im Forum: 248398
Registrierte User: 19752

Neue User:

  • Aman_Musani
  • Dustinjex
  • Rickywap

» Alle User anzeigen

User nach Punkten sortiert:
wla9289
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 3 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association