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

theme_uc_vat_cart_review_table aus dem Ubercart VAT Modul in Theme einbinden klappt nicht

Eingetragen von Malenka (4)
am 17.08.2009 - 21:28 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hallo,
ich habe Drupal erst vor kurzem für mich entdeckt, kenne mich noch nicht gut aus, möchte aber jetzt meine erste Seite umsetzten.
Angedacht ist eine Shop Lösung mit Ubercart.
Dabei bin ich auf folgendes Problem gestossen (nicht das einizige Problem, aber im Moment das einzige bei dem ich nicht mehr weiter komme):
Nötig für einen Shop in der EU ist das VAT Modul mit dessen Hilfe die Mehrwertsteuer korrekt usgewiesen wird (na ja, fast korrekt, es gibt noch ein paar Kleinigkeiten, da kümmern sich aber ein paar schlaue Köpfe drum).

Mein Problem des Abends ist diese Theme Funktion am Ende des Moduls:

function theme_uc_vat_cart_review_table($show_subtotal = TRUE) {
  $subtotal = 0;

  // Set up table header.
  $header = array(
    array('data' => t('Qty'), 'class' => 'qty'),
    array('data' => t('Products'), 'class' => 'products'),
    array('data' => t('Price excl. VAT'), 'class' => 'price', 'style' => 'white-space: nowrap;'),
    array('data' => t('VAT'), 'class' => 'price'),
    array('data' => t('Price'), 'class' => 'price'),
  );

  $context = array(
    'location' => 'cart-checkout-item',
  );

  // Set up table rows.
  foreach (uc_cart_get_contents() as $item) {
    $node = node_load($item->nid);
    $price_info = array(
      'price' => $item->price,
      'qty' => $item->qty,
    );
    $context['subject'] = array(
      'cart_item' => $item,
      'node' => $node,
    );
    $context['revision'] = 'altered';

    $price = uc_price($price_info, $context);
    $tax_total = 0;
    foreach (uc_taxes_rate_load() as $tax) {
      if (in_array($node->type, $tax->taxed_product_types) && ($tax->shippable == 0 || $node->shippable == 1)) {
        $tax_total += $price * $tax->rate;
      }
    }
    $total = $price + $tax_total;
    $subtotal += $total;

    $description = check_plain($item->title);
    foreach (module_implements('cart_item_description') as $module) {
      $description .= module_invoke($module, 'cart_item_description', $item);
    }

    // Remove node from context to prevent the price from being altered.
    unset($context['subject']);
    $context['revision'] = 'themed-original';
    $rows[] = array(
      array('data' => t('@qty×', array('@qty' => $item->qty)), 'class' => 'qty'),
      array('data' => $description, 'class' => 'products'),
      array('data' => uc_price($price, $context), 'class' => 'price'),
      array('data' => uc_price($tax_total, $context), 'class' => 'price'),
      array('data' => uc_price($total, $context), 'class' => 'price'),
    );
  }

  // Add the subtotal as the final row.
  if ($show_subtotal) {
    $context = array(
      'revision' => 'themed-original',
      'location' => 'cart-checkout-subtotal',
    );
    $rows[] = array(
      'data' => array(array('data' => '<span id="subtotal-title">' . t('Subtotal:') . '</span> ' . uc_price($subtotal, $context), 'colspan' => 6, 'class' => 'subtotal')),
      'class' => 'subtotal',
    );
  }

  return theme('table', $header, $rows, array('class' => 'cart-review'));
}

Wenn ich diese Funktion in meine Template.php einfüge und theme gegen den Themen Namen ersetzte dann müsste diese Funktion doch von dort aufgerufen werden, oder?
Das will aber irgendwie nicht klappen, bei keinem Theme (ich habe es mit diversen ausprobiert)
Muss ich eigentlich den Begriff Theme am Anfang und Ende der Funktion ersetzten? (ich vermute schon, habe aber alle möglichen Varianten ausprobiert).
Ach ja den Theme Cache und so habe ich zwischen den Tests geleert.....

Ich stehe gerade echt auf dem Schlauch, kann mir da jemand helfen?

Falls ich einfach nicht fähig bin im Forum richtig zu suchen und die Lösung schon wo anders beschrieben ist biete ich um Verzeihung, genauso auch falls dieses Thema eher zu den Anfänger Fragen gehören sollte und im Theming Forum nicht richtig aufgehoben ist.

Vielen Dank für eure Hilfe schon im Voraus,

Malenka

‹ page-node-x.tpl.php wird nicht mehr genutzt theme-hook für user-edit ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

function

Eingetragen von stebeg (463)
am 18.08.2009 - 08:18 Uhr

function themename_uc_vat_cart_review_table($show_subtotal = TRUE) wäre eigentlich richtig. z.Bsp für Garland:

function garland_uc_vat_cart_review_table($show_subtotal = TRUE) in der template.php im Garland-Ordner.

Bei mir hats zumindest immer so nach Cache leeren funktioniert. Wie hast du denn getestet obs funktioniert? ich hab immer testweise ne drupal-message irgendwo eingebaut, zum Beispiel

<?php
function themename_uc_vat_cart_review_table($show_subtotal = TRUE)
{
 
drupal_set_message("Ich bin in der Funktion");

  [...]
  return
theme('table', $header, $rows, array('class' => 'cart-review'));
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Leider nicht die Lösung....

Eingetragen von Malenka (4)
am 18.08.2009 - 07:29 Uhr

Vielen Dank Stebeg für Deine Antwort!
Den Themename hatte ich schon eingefügt nur in dem Code Schnippsel vergessen, sorry.
In Deinem Beispiel steht unten bei theme(....) nicht themename, dort ist es dann auch nicht einzufügen, nehme ich an?
Ich habe um es die Funktion zu prüfen ähnlich gemacht, allerdings jetzt auch mit drupal set message versucht (ist eine schöne Lösung, eleganter als meine, Danke sehr!). Kein positives Ergebnis.
Einen Konflikt mit anderen Funktion schliesse ich aus, hab mal Probehalber alle anderen gelöscht. Kein positives Ergebnis.
In andere Themen Einfügen um zu schauen ob es am Theme liegt habe ich auch. Kein positives Ergebnis.
Nur wenn ich im Modul direkt die Funktion verändere tut sich was, aber es wäre doch eine schlechte Lösung im Modul rumzumachen.
Zu einer Reaktion konnte ich bis jetzt die Funktion im Template allerdings bringen: Eine Klammer oder sonst was raus nehmen und es zeigt Fehlermeldungen an, das ist doch schon mal etwas.....
Ich bin nach wie vor offen für Lösungsvorschläge und freue mich auf jede Antwort!
Lg Malenka

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast du auch direkt nach

Eingetragen von stebeg (463)
am 18.08.2009 - 08:22 Uhr

Hast du auch direkt nach Ändern der template.php den Cache geleert? Wenn ja, dann muss ich sagen, dass ich kein Plan hab worans liegen könnte.

Edit: Was genau möchtest du denn ändern? eventuell gibts noch ne andere Möglichkeit.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Den Cache habe ich geleert,

Eingetragen von Malenka (4)
am 18.08.2009 - 09:44 Uhr

Den Cache habe ich geleert, daran liegt es leider nicht.
In der Übersicht des Checkouts will ich eine weitere Spalte mit der MwSt Art (7 bzw. 19%) anlegen, ausserdem brauche ich die Spalten die den Netto- und MwStbetrag für jedes Produkt einzeln auflisten nicht. Das kann ich nur mit dieser Funktion ändern.
Wenn ich diese Funktion direkt im Modul ändere funktioniert es ja auch, allerdings ins Theme eingebaut läuft diese Funktion gar nicht, auch nicht wenn ich sie im Orginal belasse nur mit dem Themename umgeändert....

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmmm schon merkwürdig,

Eingetragen von stebeg (463)
am 18.08.2009 - 12:54 Uhr

hmmm schon merkwürdig, bleibt dir wohl nichts anderes übrig als das Modul an sich zu ändern, sollte sich nich zufällig noch jemand melden, der eine Idee hat.

Edit: habs grad fix selbst ausprobiert. Auch bei mir funktionierts nicht. Wird vermutlich ein bug im Modul sein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke sehr! Das hilft mir

Eingetragen von Malenka (4)
am 18.08.2009 - 13:23 Uhr

Danke sehr! Das hilft mir weiter und mein Tag ist gerettet!
Ich dachte schon es läge an mir, aber wenn es bei anderen auch nicht funktioniert dann werde ich es als Bug im Modul melden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nur der Vollständigkeit

Eingetragen von subetha (13)
am 04.09.2010 - 20:24 Uhr

Nur der Vollständigkeit halber, falls später jemand über diesen Beitrag stolpert:

Das Problem schient behoben, wenn ich diesen Eintrag richtig verstehe
http://drupal.org/node/722066

Ich habe es aber nicht getestet.

  • 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 2 Wochen 33 Minuten
  • Hey danke
    vor 2 Wochen 19 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 19 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

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 23 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