Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

PHP Ausgabe

Eingetragen von pfefferling (29)
am 15.08.2011 - 17:24 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo zusammen,

stecke bei PHP fest, vermutlich fehlt nur eine Kleinigkeit. PHP als Eingabeformat ist eingestellt.

Ich will einen Link ausgeben, der einige dynamische Komponenten enthält, z.b. Zahlen. Eine davon muss berechnet werden (geteilt duch 1,19 um die MwSt. rauszurechnen). Die Variablen [subtotal], [order-id] und [order-uid] werden von Drupal bzw. Ubercart zur Verfügung gestellt. Die Variable [subtotal] möchte ich nun durch 1,19 teilen und dann bei $netto ausgeben.

Zum einen scheint das teilen durch 1,19 nicht zu funktionieren, anscheindn wird das [subtotal] nicht erkannt?
Und bei echo stimmt auch irgendwas nicht. Wo liegt der Fehler, kann mir jemand helfen?

<?php
$netto
= [subtotal]/1,19;

echo
"<img src="http://td.oo34.net/tr/campaign=Z4HHPTk6AKjI013a&orderid=[order-id]&customer=[order-uid]&value=$netto&currency=EUR" width="1" height="1" border="0" alt=””/>";

echo "<a href='deineseite.org/index.php?tid=".$tid."'>link mit tid...</a>

?>

‹ Book Permissions Site off-line Drupal ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

hi pfefferling du musst eine

Eingetragen von 1kubik (903)
am 15.08.2011 - 17:34 Uhr

hi pfefferling

du musst eine punkt trennung verwenden
also
1.19 statt 1,19
dann solltest du bcdiv()
verwenden

<?php
$netto
= bcdiv([subtotal],1.19,2);
?>

grüße
stef

  • Anmelden oder Registrieren um Kommentare zu schreiben

hi stef ah ok, Punkt statt

Eingetragen von pfefferling (29)
am 15.08.2011 - 17:51 Uhr

hi stef

ah ok, Punkt statt Komma ist schon mal super.

es kommt immernoch die Fehlermeldung: syntax error, unexpected '[', expecting ')'

irgendwas ist also in dem bcdiv noch falsch. kann es sein, dass die variable innerhalb von der gleichung nicht erkannt wird?

grüße
felix

  • Anmelden oder Registrieren um Kommentare zu schreiben

hei felix ups,d as hab ich

Eingetragen von 1kubik (903)
am 15.08.2011 - 18:13 Uhr

hei felix
ups,d as hab ich garnicht gesehen

<?php
echo "<img src="http://td.oo34.net/tr/campaign=Z4HHPTk6AKjI013a&orderid=[order-id]&customer=[order-uid]&value=$netto&currency=EUR" width="1" height="1" border="0" alt=””/>";
?>

du hast da fehler mit den anführungszeichen " eingebaut..
richtig wäre zb so:

<?php
echo "<img src='http://td.oo34.net/tr/campaign=Z4HHPTk6AKjI013a&orderid=[order-id]&customer=[order-uid]&value=$netto&currency=EUR' width='1' height='1' border='0' alt=' '/>";
?>

versuch das mal bitte
vielleicht ist das der grund..

  • Anmelden oder Registrieren um Kommentare zu schreiben

mhh, das kann sein, aber

Eingetragen von pfefferling (29)
am 15.08.2011 - 18:31 Uhr

mhh, das kann sein, aber soweit kommt er gar nicht.

es muss noch ein fehler in der zeile hier sein:

$netto = bcdiv([subtotal],1.19,2);

Mit dem [ kommt er nicht zurecht. Hier nochmal der ganze Code, damits übersichtlicher bleibt:

<?php
$netto
= bcdiv([subtotal],1.19,2);

echo
"<img src='http://td.oo34.net/tr/campaign=Z4HHPTk6AKjI013a&orderid=[order-id]&customer=[order-uid]&value=$netto&currency=EUR' width='1' height='1' border='0' alt=' '/>";

?>

oder muss man $netto erst als variable definieren? sorry, bin nicht so der PHP-Insider ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: oder muss man $netto

Eingetragen von Exterior (2903)
am 15.08.2011 - 19:27 Uhr
Zitat:

oder muss man $netto erst als variable definieren?

Nö, nicht unbedingt.

Was mich ein wenig wundert - dieses [subtotal] Wo genau kommt das nochmal her? Weil das höchstens aussieht wie ein Pattern aber nicht wie eine ordentliche Variable. Was liefert er denn, wenn du einfach mal echo [subtotal]; machst? Dort würde ich den Fehler am Ehesten suchen.

Und wo genau verwendest du diesen Code denn?

  • Anmelden oder Registrieren um Kommentare zu schreiben

also, bei echo [subtotal];

Eingetragen von pfefferling (29)
am 15.08.2011 - 19:58 Uhr

also, bei echo [subtotal]; kommt dann "Parse error: syntax error, unexpected '[' in...."

ich verwende das in /admin/store/settings/checkout/edit/messages also innerhalb von Ubercart.

[subtotal] hab ich aus der Liste der verfügbaren Tokens von ubercart. Innhalb des Links der ausgegeben wird funktionieren die Tokens ja, nur innerhalb der Berechnung gehts nicht. Vielleicht kann man so keine Berechnung vornehmen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mmmh und wenn du versuchst,

Eingetragen von Exterior (2903)
am 15.08.2011 - 20:09 Uhr

Mmmh und wenn du versuchst, erstmal eine Variable damit zu belegen?

Quasi so:

<?php
$total
= [subtotal];

$netto = $total / 1.19
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: ich verwende das in

Eingetragen von 1kubik (903)
am 15.08.2011 - 20:15 Uhr
Zitat:

ich verwende das in /admin/store/settings/checkout/edit/messages also innerhalb von Ubercart...

Innhalb des Links der ausgegeben wird funktionieren die Tokens ja, nur innerhalb der Berechnung gehts nicht.

ah so.. sorry ich hab das völlig missgedeutet ...

das modul ersetzt anscheinend die tokens in dem php output (echo)
was dann aber schon html ist
und parst nicht den php code des nodes.
daher die parsing errors
du kannst das also (vermutlich) nicht auf diese art vermischen.
behaupte ich jetzt mal ohne das modul zukennen...

ich dachte zuerst das

<?php
$netto
= [subtotal]/1.19;
?>

keinen fehler ausgibt
das modul somit auch den php code
als text verarbeitet und die tokens ersetzt..

grüße
stef

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich glaube das problem liegt

Eingetragen von pfefferling (29)
am 15.08.2011 - 21:08 Uhr

ich glaube das problem liegt woanders: es wird nicht nur

[order-total] gibt nämlich "178,00€" aus, also mit € Zeichen, dass er da Probleme bekommt ist klar. Man müsste das € also irgendwie rausfiltern, vielleicht funktioniert es dann?

LG felix

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dann mach's doch einfach

Eingetragen von Exterior (2903)
am 15.08.2011 - 21:17 Uhr

Dann mach's doch einfach raus.

Ich glaube aber ehrlich gesagt auch nicht, dass das was wird. Evtl. kann man an der Stelle einfach nicht mit den Tokens rechnen, sondern die werden einfach nur bei der Ausgabe ersetzt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

nabend aha..?! Zitat: [order

Eingetragen von 1kubik (903)
am 15.08.2011 - 22:04 Uhr

nabend
aha..?!

Zitat:

[order-total] gibt nämlich "178,00€" aus, also mit € Zeichen,

wann wird das ausgegeben?
mit

<?php

$total
= [subtotal];
echo
$total;

?>

das würde mich echt wundern..
aber
das euro zeichen weg machen (und das komma gegen
einen punkt ersetzen geht so:
<?php

$total
= [subtotal];
//euro raus
$total = str_replace('€','',$total);
// komma zu punkt
$total = str_replace(',','.',$total);
// den string in einen interger umwandeln
$total =(int)$total;

?>

binmagespannt
stef

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da reicht auch ein einzelner

Eingetragen von Exterior (2903)
am 15.08.2011 - 22:31 Uhr

Da reicht auch ein einzelner str_replace:

<?php
$total
= str_replace(array('€', ','), array('', '.'), $total);
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

also ich habe das Gefühl es

Eingetragen von pfefferling (29)
am 16.08.2011 - 10:18 Uhr

also ich habe das Gefühl es liegt am PHP allgemein:

Diesen Code gibt er ohne Fehlermeldung aus:

<?php
echo "<img src='http://td.oo34.net/tr/campaign=Z4HHPTk6AKjI013a&orderid=[order-id]&customer=[order-uid]&value=<strong>[order-subtotal]</strong>&currency=EUR' width='1' height='1' border='0' alt=' '/>";
?>

aber wenn ich bereits folgendes mache, kommt die fehlermeldung "Parse error: syntax error, unexpected ',' in ..." für die Zeile $netto = [order-subtotal];

<?php

<strong>$netto = [order-subtotal];</strong>

echo
"<img src='http://td.oo34.net/tr/campaign=Z4HHPTk6AKjI013a&orderid=[order-id]&customer=[order-uid]&value=<strong>$netto</strong>&currency=EUR' width='1' height='1' border='0' alt=' '/>";

?>

Kann er also PHP an der Stelle nicht verarbeiten? aber Wieso geht es dann bei der oberen Variante mit "Print" ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

ahio Zitat: Kann er also PHP

Eingetragen von 1kubik (903)
am 16.08.2011 - 10:37 Uhr

ahio

Zitat:

Kann er also PHP an der Stelle nicht verarbeiten? aber Wieso geht es dann bei der oberen Variante mit "Print" ?

... weil das php vor dem aufruf von dem Ubercart modul ausgeführt wird.
dieses token wird also als php behandelt daher der parse error.

das ubercard modul setzt erst ein wenn dieser link schon als html 'gerendert' wurde..

du kannst das also nicht so machen
du musst dir einen anderen weg suchen um da die variable
zu berechnen.
zb per javascript in deinem template
oder über die drupal preprocess funktionen.

tip: mit dem devel-modul und das darin enthaltenen modul theme developer wird dir sehr schön angezeigt
welche preprocess funktionen für das jeweilige seitenelement verfügbar ist.

da kannst du dann drauf zugreifen
viel erfolg

gruss
stef

  • Anmelden oder Registrieren um Kommentare zu schreiben

ok, dann geht das so leider

Eingetragen von pfefferling (29)
am 22.08.2011 - 09:38 Uhr

ok, dann geht das so leider tatsächlich nicht. Ich werde mal im Ubercart-forum fragen ob jemand eine einfache Lösung für das Problem hat, ich sollte ja nicht der erste damit sein..

vielen Dank für Eure Hilfe!!!

Felix

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 15 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