Where do I find $data->order_payment_method

  • Posts: 65
  • Thank you received: 0
11 years 11 months ago #80984

I would like to look into the php file that defines the "order_payment_method" to change the name of one of these payment methods provided.
Where do I find it?
Thank you!

Please Log in or Create an account to join the conversation.

  • Posts: 82818
  • Thank you received: 13360
  • MODERATOR
11 years 11 months ago #81111

It's not possible to change where that is defined. Instead, you should change the code displaying it. So I need to know why and where you want to change that in order to tell you what to do.

Please Log in or Create an account to join the conversation.

  • Posts: 65
  • Thank you received: 0
11 years 11 months ago #81119

Dear Nicolas,
when my programmer installed and configured Hikashop for my customer, he also modified the email confirmation for the administrator and added the mentioned variable to display the payment method of the respective order.
It worked all well until now I had to add a payment method (payment in advance) and therefor modified the content of the Western Union payment method (I modified it just in the backend, not in the php codes). Functionally the payment method works well but in the administrator email confirmation, when the order is on "payment in advance", there is written "Payment method: westernunion"

He added to the code;
<?php
$userCMS =& JFactory::getUser();
echo "Order Emailaddress: ".($userCMS->get('email'))." - Payment Method: ".($data->order_payment_method);
?>


Here is the complete code of the email:

<?php
/**
 * @package    HikaShop for Joomla!
 * @version    1.5.7
 * @author    hikashop.com
 * @copyright  (C) 2010-2012 HIKARI SOFTWARE. All rights reserved.
 * @license    GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?>
  <div style="background-color: #ffffff; font-family: Verdana, Arial, Helvetica, sans-serif;font-size:12px; color: #000000; width: 100%;">
  <table style="margin: auto;font-family: Verdana, Arial, Helvetica, sans-serif;font-size:12px;" border="0" cellspacing="0" cellpadding="0">
    <tbody>
      <tr>
        <td height="10">
          
        </td>
      </tr>
      <tr>
        <td height="10">
          <?php
          $userCMS =& JFactory::getUser();
          echo "Order Emailaddress: ".($userCMS->get('email'))." - Payment Method: ".($data->order_payment_method);
          ?>
        </td>
      </tr>
      <tr>
        <td>
          <br/>
          <br/>
          <?php
          $url = HIKASHOP_LIVE.'administrator/index.php?option=com_hikashop&ctrl=order&task=edit&order_id='.$data->order_id;
          echo JText::sprintf('ORDER_STATUS_CHANGED',$data->mail_status)."<br/><br/>".JText::sprintf('NOTIFICATION_OF_ORDER_ON_WEBSITE',$data->order_number,HIKASHOP_LIVE);
          $currency = hikashop_get('class.currency');
          $url = '<a href="'.$url.'" target="_blank">'.$url.'</a>';
          echo "<br/>".JText::sprintf('ACCESS_ORDER_WITH_LINK',$url);
          if($data->order_payment_method=='creditcard' && !empty($data->credit_card_info->cc_number)){
            echo "<br/>".JText::_('CUSTOMER_PAID_WITH_CREDIT_CARD');
            if(!empty($data->credit_card_info->cc_owner)){
              echo "<br/>".JText::_('CREDIT_CARD_OWNER').' : '.$data->credit_card_info->cc_owner;
            }
            echo "<br/>".JText::_('END_OF_CREDIT_CARD_NUMBER').' : '.substr($data->credit_card_info->cc_number,8);
            if(!empty($data->credit_card_info->cc_CCV)){
              echo "<br/>".JText::_('CARD_VALIDATION_CODE').' : '.$data->credit_card_info->cc_CCV;
            }
            echo "<br/>".JText::_('CREDITCARD_WARNING');
          }
          $fieldsClass = hikashop_get('class.field');
          $fields = $fieldsClass->getFields('frontcomp',$data,'order','');
          foreach($fields as $fieldName => $oneExtraField) {
            if(!empty($data->$fieldName)) echo "<br/>".$fieldsClass->trans($oneExtraField->field_realname).' : '.$fieldsClass->show($oneExtraField,$data->$fieldName);
          }
          $class = hikashop_get('class.order');
          $url = $data->order_number;
          $config =& hikashop_config();
          if($config->get('simplified_registration',0)!=2){
            $url .= ' ( '.$data->order_url.' )';
          }
          $data->cart = $class->loadFullOrder($data->order_id,true,false);
          $data->cart->coupon = null;
          $price = null;
          $tax = $data->cart->order_subtotal - $data->cart->order_subtotal_no_vat + $data->order_discount_tax + $data->order_shipping_tax;
          $price->price_value = $data->order_full_price-$tax;
          $price->price_value_with_tax = $data->order_full_price;
          $data->cart->full_total = null;
          $data->cart->full_total->prices = array($price);
          $data->cart->coupon->discount_value =& $data->order_discount_price;
    ?>
        </td>
      </tr>
      <tr>
        <td height="10">
        </td>
      </tr>
      <tr>
        <td>
          <table width="100%" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size:12px;">
            <tr>
              <td style="font-weight:bold;">
                ProductCode
              </td>
              <td style="font-weight:bold;">
                <?php echo JText::_('CART_PRODUCT_NAME'); ?>
              </td>
              <td style="font-weight:bold;">
                <?php echo JText::_('CART_PRODUCT_UNIT_PRICE'); ?>
              </td>
              <td style="font-weight:bold;">
                <?php echo JText::_('CART_PRODUCT_QUANTITY'); ?>
              </td>
              <td style="font-weight:bold;text-align:right;">
                <?php echo JText::_('HIKASHOP_TOTAL'); ?>
              </td>
            </tr>
            <?php
              if(hikashop_level(2)){
                $fieldsClass = hikashop_get('class.field');
                $null = null;
                $itemFields = $fieldsClass->getFields('frontcomp',$null,'item');
              }
              foreach($data->cart->products as $item){
                ?>
                <tr>
                  <td>
                    <?php echo $item->order_product_code; ?>
                  <td>
                    <p><?php echo $item->order_product_name; ?></p><?php
                    if(!empty($itemFields)){
                      foreach($itemFields as $field){
                        $namekey = $field->field_namekey;
                        if(empty($item->$namekey)) continue;
                        echo '<p>'.$fieldsClass->getFieldName($field).': '.$fieldsClass->show($field,$item->$namekey).'</p>';
                      }
                    } ?>
                  </td>
                  <td>
                    <?php echo $currencyHelper->format($item->order_product_price+$item->order_product_tax,$data->order_currency_id); ?>
                  </td>
                  <td>
                    <?php echo $item->order_product_quantity; ?>
                  </td>
                  <td style="text-align:right">
                    <?php echo $currencyHelper->format($item->order_product_total_price,$data->order_currency_id); ?>
                  </td>
                </tr>
                <?php
              }
              if(bccomp($data->order_discount_price,0,5)){
                echo '<tr><td colspan="5" style="text-align:right">'.JText::_('HIKASHOP_COUPON').' : '.$currencyHelper->format($data->order_discount_price*-1,$data->order_currency_id).'</td></tr>';
              }
              if(bccomp($data->order_shipping_price,0,5)){
                echo '<tr><td colspan="5" style="text-align:right">'.JText::_('HIKASHOP_SHIPPING_METHOD').' : '.$currencyHelper->format($data->order_shipping_price,$data->order_currency_id).'</td></tr>';
              }
              if($data->cart->full_total->prices[0]->price_value!=$data->cart->full_total->prices[0]->price_value_with_tax){
                if($config->get('detailed_tax_display') && !empty($data->cart->order_tax_info)){
                  foreach($data->cart->order_tax_info as $tax){
                    echo '<tr><td colspan="5" style="text-align:right">'.$tax->tax_namekey. ' : '.$currencyHelper->format($tax->tax_amount,$data->order_currency_id).'</td></tr>';
                  }
                }else{
                  echo '<tr><td colspan="5" style="text-align:right">'.JText::sprintf('TOTAL_WITHOUT_VAT',$currencyHelper->format($data->cart->full_total->prices[0]->price_value,$data->order_currency_id)).'</td></tr>';
                }
                $text=JText::sprintf('TOTAL_WITH_VAT',$currencyHelper->format($data->cart->full_total->prices[0]->price_value_with_tax,$data->order_currency_id));
              }else{
                $text=JText::_('HIKASHOP_FINAL_TOTAL'). ' : '.$currencyHelper->format($data->cart->full_total->prices[0]->price_value_with_tax,$data->order_currency_id);
              }
              echo '<tr><td colspan="5" style="text-align:right;font-weight:bold;">'.$text.'</td></tr>';
              ?>
          </table>
        </td>
      </tr>
      <tr>
        <td height="10">
        </td>
      </tr>
      <tr>
        <td>
          <table width="100%" style="border: 1px solid #DDDDDD;font-family: Verdana, Arial, Helvetica, sans-serif;font-size:12px;">
          <?php
          $params = null;
          $js = '';
          $fieldsClass = hikashop_get('class.field');
          $app=&JFactory::getApplication();
          $template = trim(hikashop_getLayout($app->isAdmin() ? 'order' : 'address','address_template',$params,$js));
          if(!empty($data->cart->billing_address)){
            $billing = $template;
            foreach($data->cart->fields as $field){
              $fieldname = $field->field_namekey;
              $billing=str_replace('{'.$fieldname.'}',$fieldsClass->show($field,$data->cart->billing_address->$fieldname),$billing);
            }
            echo '<tr><td style="font-weight:bold;background-color:#DDDDDD">'.JText::_('HIKASHOP_BILLING_ADDRESS').'</td></tr><tr><td>';
            echo str_replace(array("\r\n","\r","\n"),'<br/>',preg_replace('#{(?:(?!}).)*}#i','',$billing)).'<br/></td></tr>';
          }
          if(!empty($data->cart->order_shipping_id) && (!empty($data->cart->shipping_address) || !empty($data->cart->override_shipping_address))){
            echo '<tr><td style="font-weight:bold;background-color:#DDDDDD">'.JText::_('HIKASHOP_SHIPPING_ADDRESS').'</td></tr><tr><td>';
            if(!empty($data->cart->override_shipping_address)) {
              echo $data->cart->override_shipping_address.'<br/></td></tr>';
            } else {
              $shipping = $template;
              foreach($data->cart->fields as $field){
                $fieldname = $field->field_namekey;
                $shipping=str_replace('{'.$fieldname.'}',$fieldsClass->show($field,$data->cart->shipping_address->$fieldname),$shipping);
              }
              echo str_replace(array("\r\n","\r","\n"),'<br/>',preg_replace('#{(?:(?!}).)*}#i','',$shipping)).'<br/></td></tr>';
            }
          }?>
          </table>
        </td>
      </tr>
      <tr>
        <td height="10">
        </td>
      </tr>
      <tr>
        <td height="10">
        </td>
      </tr>
      <tr>
        <td height="10">
        </td>
      </tr>
    </tbody>
  </table>
</div>

Please Log in or Create an account to join the conversation.

  • Posts: 82818
  • Thank you received: 13360
  • MODERATOR
11 years 11 months ago #81363

Well, the problem is that it's not how you should do it ;)

You should display the name of the payment method with that code:
$class = hikashop_get('class.payment');
$payment = $class->get($data->order_payment_id);
echo $payment->payment_name;

it's a bit more complex but that way you get the payment name, not the payment type which is why you still see westernunion even if you changed the payment name.

Please Log in or Create an account to join the conversation.

  • Posts: 65
  • Thank you received: 0
11 years 10 months ago #82273

hi nicolas, so you mean I should put the code that you sent me instead of the $data->order_payment_method?
thank you!!

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 10 months ago #82369

Hi,

Yes you can put the code before:
echo "Order Emailaddress: ".($userCMS->get('email'))." - Payment Method: ".($data->order_payment_method);
and replace "$data->order_payment_method" by "$payment->payment_name".

The following user(s) said Thank You: phamosa

Please Log in or Create an account to join the conversation.

Time to create page: 0.070 seconds
Powered by Kunena Forum