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

Tabelle ausgeben wenn Checkbox aktiviert ist

Eingetragen von KiLLAH89 (181)
am 15.06.2016 - 02:35 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo,

ich habe ein riesen Problem. Ich bin völlig am verzweifeln.

Folgendes: Ich habe 2 Checkboxen, die funktionieren auch soweit. Nun aber möchte ich, dass wenn Checkbox A aktiviert ist Tabelle A ausgegeben wird und wenn Checkbox B aktiviert ist soll Tabelle B ausgegeben werden.

Wenn beide Checkboxen aktiviert sind, sollen auch beide Tabellen ausgegeben werden.

Ich bekomme aber beide Tabellen ausgegeben, auch wenn nur eine Checkbox aktiviert ist. Das ist mein Problem. Alles soll auf einer Seite im Adminbereich stattfinden.

Hier der Code:

<?php
function affiliate_overview_GetPublisherSummary() {
global
$user;

 
$result = _affiliate_overview_GetPublisherSummary();
 
$resultbelboon = _affiliate_overview_belboon_getAccountInfo();

if(
variable_get('affiliate_overview_affilinet_checkbox', TRUE)); {
 
$output  = '<h2>Affilinet ' . t("statistics") . '</h2>';
 
$output .= '<table style="width:100%;border:solid gray 1px;" cellspacing="1">';
 
$output .= '<tr class="header">';
 
$output .= '<th colspan="2">' . t("Balance") . '</th>';
 
$output .= '<th colspan="2">' . t("Sales of previous months") . '</th>';
 
$output .= '<th>Auszahlungen</th>';
 
$output .= '<th colspan="2">'. t("Partnerships") . '</th>';
 
$output .= '</tr>';
 
$output .= '<tr class="gerade">';
 
$output .= '<td class="rightgray">' . t("Approved") . '</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="rightgray bold confirmed"><a href="http://publisher.affili.net/Statistics/detailsPerDay.aspx?cd=1" target="_blank">' . money($result->CurrentMonth->Confirmed) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold confirmed">' . money($result->CurrentMonth->Confirmed) . '</td>'; }
 
$output .= '<td class="rightgray">' . t("Approved") . '</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="rightgray bold confirmed"><a href="http://publisher.affili.net/Statistics/OrderStatistics.aspx?status=0" target="_blank">' . money($result->PreviousMonths->Confirmed) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold confirmed">' . money($result->PreviousMonths->Confirmed) . '</td>'; }
 
$output .= '<td class="rightgray bold other">' . gerDate($result->Payments->LastPayment) . '</td>';
 
$output .= '<td class="rightgray">'. t("Active") . '</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="bold other center"><a href="http://publisher.affili.net/Programs/ProgramSearch.aspx?ps=active" target="_blank">' . $result->Partnerships->PartnershipsActive . '</a></td>'; }
    else {
$output .= '<td class="bold other center">' . $result->Partnerships->PartnershipsActive . '</a></td>'; }
 
$output .= '</tr>';
 
$output .= '<tr class="ungerade">';
 
$output .= '<td class="rightgray">' . t("Pending") . '</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="rightgray bold open"><a href="http://publisher.affili.net/Statistics/OrderStatistics.aspx?status=0" target="_blank">' . money($result->CurrentMonth->Open) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold open">' . money($result->CurrentMonth->Open) . '</td>'; }
 
$output .= '<td class="rightgray">' . t("Pending") . '</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="rightgray bold open"><a href="http://publisher.affili.net/Statistics/OrderStatistics.aspx?status=0" target="_blank">' . money($result->PreviousMonths->Open) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold open">' . money($result->PreviousMonths->Open) . '</td>'; }
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="rightgray bold other"><a href="http://publisher.affili.net/Account/payments.aspx" target="_blank">' . money($result->Payments->TotalPayment) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold other">' . money($result->Payments->TotalPayment) . '</td>'; }
 
$output .= '<td class="rightgray">' . t("Waiting") . ':</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="bold other center"><a href="http://publisher.affili.net/Programs/ProgramSearch.aspx?ps=waiting" target="_blank">' . $result->Partnerships->PartnershipsWaiting . '</a></td>'; }
    else {
$output .= '<td class="bold other center">' . $result->Partnerships->PartnershipsWaiting . '</td>'; }
 
$output .= '</tr>';
 
$output .= '<tr class="gerade">';
 
$output .= '<td class="rightgray">'. t("Cancelled") . '</td>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<td class="rightgray bold canceled"><a href="http://publisher.affili.net/Statistics/OrderStatistics.aspx?status=1" target="_blank">' . money($result->CurrentMonth->Cancelled) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold canceled">' . money($result->CurrentMonth->Cancelled) . '</td>'; }
 
$output .= '<td class="rightgray">'. t("Cancelled") . '</td>';
  if (
user_access("access affiliate configuration")) { $output .= '<td class="rightgray bold canceled"><a href="http://publisher.affili.net/Statistics/OrderStatistics.aspx?status=0" target="_blank">' . money($result->PreviousMonths->Cancelled) . '</a></td>'; }
    else {
$output .= '<td class="rightgray bold canceled">' . money($result->PreviousMonths->Cancelled) . '</td>'; }
 
$output .= '<td>&nbsp;</td>';
 
$output .= '<td colspan="2">&nbsp;</td>';
 
$output .= '</tr>';
  if (
user_access("access affiliate overview configuration")) { $output .= '<tr class="ungerade rightgray">';
 
$output .= '<td colspan="7"><a href="http://publisher.affili.net" target="_blank" title="publisher.affili.net"><b>&raquo; zum affilinet Publisher-Login</b></td>'; }
    else { }
 
$output .= '</tr>';
 
$output .= '</table>';
}
if(
variable_get('affiliate_overview_belboon_checkbox', TRUE)); {
 
$output .= '<h2>Belboon ' . t("statistics") . '</h2>';
 
$output .= '<table style="width:100%;border:solid gray 1px;" cellspacing="1">';
 
$output .= '<tr class="header">';
 
$output .= '<th colspan="2">' . t("Balance") . '</th>';
 
$output .= '<th colspan="2">'. t("Messages") .'</th>';
 
$output .= '</tr>';
 
$output .= '<tr class="ungerade">';
 
$output .= '<td class="rightgray">' . t("Approved") . '</td>';
 
$output .= '<td class="rightgray bold confirmed">' . money($resultbelboon->handler->commissionsApproved['EUR']) . '</td>';
 
$output .= '<td class="rightgray">'. t("Unread") . '</td>';
 
$output .= '<td class="bold other center">' . $resultbelboon->handler->inboxMessagesUnread . '</a></td>';
 
$output .= '</tr>';
 
$output .= '<tr class="gerade">';
 
$output .= '<td class="rightgray">'. t("Pending") . '</td>';
 
$output .= '<td class="rightgray bold canceled">' . money($resultbelboon->handler->commissionsPending['programs']['EUR']) . '</td>';
 
$output .= '<td>&nbsp;</td>';
 
$output .= '<td colspan="2">&nbsp;</td>';
 
$output .= '</tr>';
 
$output .= '</tr>';
 
$output .= '</table>';
}
return
$output;
}
?>

Danke

Liebe Grüße,

Marvin

‹ IDE unter Linux Soap Server erstellen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Marvin, was ist das für ein

Eingetragen von montviso (2188)
am 15.06.2016 - 05:56 Uhr

Marvin, was ist das für ein Inhalt, bei dem die Tabelle ausgegeben werden soll und in welchem Kontext wird die function affiliate_overview_GetPublisherSummary() aufgerufen?
Wo wird die Variable affiliate_overview_affilinet_checkbox gesetzt?
Was willst Du genau machen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo montviso,Den Inhalt

Eingetragen von KiLLAH89 (181)
am 15.06.2016 - 23:53 Uhr

Hallo montviso,

Den Inhalt der Tabellen, beziehe ich aus einer SOAP Abfrage.

Was ich genau machen möchte:

Ich möchte 2 Tabellen auf der gleichen Seite ausgeben. Allerdings mit Einschränkungen:

Wenn affiliate_overview_affilinet_checkbox gesetzt ist, soll nur die Tabelle "Affilinet Statistiken" ausgegeben werden. Gleiches gilt für affiliate_overview_belboon_checkbox, da soll dann "Belboon Statistiken" ausgegeben werden. Wenn beide Checkboxen gesetzt sind, sollen auch beide Tabellen ausgegeben werden.

Soweit ich weiß, hat es was hiermit zutun:

$output  = <h2>Affilinet ' . t("statistics") . '</h2>';

und

$output .= '<h2>Belboon ' . t("statistics") . '</h2>'; dort müsste nämlich der Punkt vor dem "=" weg allerdings kann man leider keine 2 "returns" in einer Funktion setzen.

Danke

Liebe Grüße,

Marvin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, das kann schon an dem

Eingetragen von montviso (2188)
am 15.06.2016 - 13:38 Uhr

Ja, das kann schon an dem Punkt liegen.

Arbeite doch mit zwei Variablen:
$output_affilinet und $output_belboon, die Du jeweils am Anfag der If-Schleife mit
$output_xxx = "";
auf Leer setzt.

Und unten schreibst Du dann
return $output_affilinet.$output_belboon;

Ich habe nicht genug Zeit, den Code näher anzusehen, deshalb ohne Garantie, ob es dann wie gewünscht funktioniert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke erstmal für deine

Eingetragen von KiLLAH89 (181)
am 15.06.2016 - 13:55 Uhr

Danke erstmal für deine Antwort. Leider werden jedoch beide Tabellen ausgegeben. Die eine mit gewünschtem Inhalt und die andere, bei der die Checkbox nicht aktiviert ist, mit leerem Inhalt.

Vielleicht noch jemand anderes eine Idee?

Danke

Liebe Grüße,

Marvin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lieber Marvin,Du hast Deinen

Eingetragen von Hyp1 (1463)
am 15.06.2016 - 18:02 Uhr

Lieber Marvin,

Du hast Deinen Code falsch verschachtelt.
Oben in der 7. Zeile hast Du folgendes stehen:

Zitat:

if(variable_get('affiliate_overview_affilinet_checkbox', TRUE)); {
...
}

Diese if Abfrage ist mit dem Semikolon beendet.
Egal ob Sie nun wahr ist oder nicht wird wird der Block {} ausgeführt,
da die Klammern nichts mit der Abfrage zu tun haben.
richtig wäre:

Zitat:

if(variable_get('affiliate_overview_affilinet_checkbox', TRUE)){
...
}

Ohne Semikolon dürfte der Block funktionieren.

Grüsse

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort.

Eingetragen von KiLLAH89 (181)
am 15.06.2016 - 23:52 Uhr

Danke für deine Antwort. Funktioniert leider trotzdem nicht.

Vielleicht noch eine andere Idee?

EDIT:
Funktioniert nun, nachdem ich die variable_get angepasst habe und statt

<?php
  $form
['submit'] = array(
   
'#type' => 'submit',
   
'#value'  => t('Submit'),
  );
  return
$form;
}

function
affiliate_overview_affilinet_admin_config_form_submit(&$form_state) {
 
variable_set('affiliate_overview_affilinet_checkbox', $form_state['affilinet']['checkbox']['#value']);
 
variable_set('affiliate_overview_belboon_checkbox', $form_state['belboon']['checkboxb']['#value']);
 
variable_set('affiliate_overview_affilinet_username', $form_state['affilinet']['username']['#value']);
 
variable_set('affiliate_overview_affilinet_password', $form_state['affilinet']['password']['#value']);
 
variable_set('affiliate_overview_belboon_username', $form_state['belboon']['usernamebelboon']['#value']);
 
variable_set('affiliate_overview_belboon_password', $form_state['belboon']['pwwsbelboon']['#value']);

 
drupal_set_message(t('Your configuration has been saved.'));
}
?>

die system_settings_form verwende:

<?php
 
return system_settings_form($form);
}
?>

Danke für eure Hilfe.
Liebe Grüße,

Marvin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was hast Du denn mit der

Eingetragen von montviso (2188)
am 16.06.2016 - 06:16 Uhr

Was hast Du denn mit der variable_get angestellt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da habe ich statt

Eingetragen von KiLLAH89 (181)
am 16.06.2016 - 12:56 Uhr

Da habe ich statt if(variable_get('affiliate_overview_affilinet_checkbox' TRUE)); { folgendes verwendet:

if(variable_get('checkbox' TRUE));

Diesen Wert erhalte ich von:

<?php
$form
['affilinet']['checkbox'] = array(
...,
...,
);
?>

Ich habe bereits auf Drupal.org ein Sanbox Projekt erstellt. Also, wer Interesse hat und auch dieses Modul braucht, nur zu.

Liebe Grüße,

Marvin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erzähl mal, was ist der

Eingetragen von montviso (2188)
am 16.06.2016 - 13:16 Uhr

Erzähl mal, was ist der Vorteil des Moduls gegenüber den Statistiken bei belboon und Affilinet direkt?
Natürlich ist es nett, wenn man nicht jede Plattform einzeln besuchen muß.
Aber der Aufwand für ein Modul ist ja doch recht hoch, vor allem, wenn es dann demnächst auch auf Drupal 8 vorliegen sollte.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie du schon geschrieben

Eingetragen von KiLLAH89 (181)
am 16.06.2016 - 17:12 Uhr

Wie du schon geschrieben hast, ist es dann nicht mehr notwenig die Netwerke einzeln aufzurufen. Das Modul an sich funktioniert, es sollen aber noch weitere Funktionen hinzukommen, zb produktdaten Abruf, Gutscheincodes usw... Es sollen auch noch weitere Netwerke hinzugefügt werden, allerdings scheitere ich gerade kläglich Zanox einzubinden.

Für Zanox muss ich nämlich ein hmac_sha1 key generieren. Davon habe ich keine Ahnung und bräuchte dafür ggf. Hilfe.

Liebe grüße,

Marvin

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielleicht machst du das

Eingetragen von caw (2762)
am 17.06.2016 - 05:43 Uhr

vielleicht machst du das einfach mit computed und conditionalfields in einem inhaltstypen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe ich mittlerweile

Eingetragen von KiLLAH89 (181)
am 17.06.2016 - 19:16 Uhr

Habe ich mittlerweile hinbekommen. Trotzdem danke für die Hilfe.

Ab sofort können von affili.net, Zanox, TradeTracker und Belboon die Statistiken zum eigenen Konto abgerufen werden.

Liebe Grüße,

Marvin

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 8 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