Tabelle ausgeben wenn Checkbox aktiviert ist
Eingetragen von KiLLAH89 (178)
am 15.06.2016 - 02:35 Uhr in
am 15.06.2016 - 02:35 Uhr in
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> </td>';
$output .= '<td colspan="2"> </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>» 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> </td>';
$output .= '<td colspan="2"> </td>';
$output .= '</tr>';
$output .= '</tr>';
$output .= '</table>';
}
return $output;
}
?>
Danke
Liebe Grüße,
Marvin
- Anmelden oder Registrieren um Kommentare zu schreiben
Marvin, was ist das für ein
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?
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hallo montviso,Den Inhalt
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
Ja, das kann schon an dem
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.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Danke erstmal für deine
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
Lieber Marvin,Du hast Deinen
am 15.06.2016 - 18:02 Uhr
Lieber Marvin,
Du hast Deinen Code falsch verschachtelt.
Oben in der 7. Zeile hast Du folgendes stehen:
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:
if(variable_get('affiliate_overview_affilinet_checkbox', TRUE)){
...
}
Ohne Semikolon dürfte der Block funktionieren.
Grüsse
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Danke für deine Antwort.
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
Was hast Du denn mit der
am 16.06.2016 - 06:16 Uhr
Was hast Du denn mit der variable_get angestellt?
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Da habe ich statt
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
Erzähl mal, was ist der
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.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Wie du schon geschrieben
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
vielleicht machst du das
am 17.06.2016 - 05:43 Uhr
vielleicht machst du das einfach mit computed und conditionalfields in einem inhaltstypen
C.A.W. Webdesign
Habe ich mittlerweile
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