2012-04-04 4 views
0

Ich erlebe sehr seltsame Sache. Ich habe ein benutzerdefiniertes Zahlungsmodul auf meinem Entwicklungsserver (Mac Lion) eingerichtet. Alles funktioniert super eigentlich perfekt auf dem Dev-Server. Wenn ich es auf Live-Site verschiebe, ist es weder im Backend/Admin noch im Frontbereich sichtbar.Magento Custom Payment-Modul nicht in Live-Site angezeigt. aber in der Entwicklungsstelle zeigt

Ich habe Stunden damit verbracht, kann es aber nicht herausfinden. Ich kann das Modul im Voraus sehen und aktiviert. Ich habe Cache wirklich gelöscht, ich habe es auch deaktiviert. Ich bin mir nicht sicher, was hier falsch ist. Meine Entwicklungs- und Live-Site hat dieselbe Magento-Version 1.5.1. Ich füge meinen Code hier ein, also bitte begrüßen Sie, was das Problem ist.

config.xml

<global> 
    <models> 
     <callpayment> 
     <class>Bestdirect_CallPayment_Model</class> 
     </callpayment> 
    </models> 
    </global> 

<default> 
    <payment> 
    <callpayment> 
     <active>1</active> 
     <model>callpayment/paymentMethod</model> 
     <order_status>1</order_status> 
     <title>ePayment</title> 
     <payment_action>authorize_capture</payment_action> 
    </callpayment> 
    </payment> 
</default> 

<frontend> 
    <routers> 
    <callpayment> 
     <use>standard</use> 
     <args> 
     <module>Bestdirect_CallPayment</module> 
     <frontName>callpayment</frontName> 
     </args> 
    </callpayment> 
    </routers> 
</frontend> 

system.xml

<?xml version="1.0"?> 
<config> 
    <sections> 
    <payment> 
     <groups> 
     <callpayment translate="label" module="paygate"> 
      <label>ePayment</label> 
      <sort_order>670</sort_order> 
      <show_in_default>1</show_in_default> 
      <show_in_website>1</show_in_website> 
      <show_in_store>0</show_in_store> 
      <fields> 
       <active translate="label"> 
       <label>Enabled</label> 
       <frontend_type>select</frontend_type> 
       <source_model>adminhtml/system_config_source_yesno</source_model> 
       <sort_order>1</sort_order> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>0</show_in_store> 
       </active> 
       <order_status translate="label"> 
       <label>New order status</label> 
       <frontend_type>select</frontend_type> 
       <source_model>adminhtml/system_config_source_order_status</source_model> 
       <sort_order>4</sort_order> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>0</show_in_store> 
       </order_status> 
      <allowspecific translate="label"> 
       <label>Payment from applicable countries</label> 
       <frontend_type>allowspecific</frontend_type> 
       <sort_order>50</sort_order> 
     <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>1</show_in_store> 
       </allowspecific> 
       <specificcountry translate="label"> 
       <label>Payment from Specific countries</label> 
       <frontend_type>multiselect</frontend_type> 
       <sort_order>51</sort_order> 
       <source_model>adminhtml/system_config_source_country</source_model> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>1</show_in_store> 
       </specificcountry> 
       <title translate="label"> 
       <label>Title</label> 
       <frontend_type>text</frontend_type> 
       <sort_order>2</sort_order> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>0</show_in_store> 
       </title> 
      </fields> 
     </callpayment> 
     </groups> 
    </payment> 
    </sections> 
    </config> 

PaymentMethod.php

012.
<?php 
    require_once 'Bestdirect' . DS . 'Verkkomaksut_Module_Rest.php'; 

    class Bestdirect_CallPayment_Model_PaymentMethod extends Mage_Payment_Model_Method_Abstract 
    { 
    protected $_code = 'callpayment'; 

    protected $_isInitializeNeeded  = true; 
    protected $_canUseInternal   = false; 
    protected $_canUseForMultishipping = false; 

public function capture(Varien_Object $payment, $amount) 
{ 
    $payment->getOrder()->setCanSendNewEmailFlag(false); 
    return parent::capture($payment, $amount); 
} 

public function getOrderPlaceRedirectUrl() 
{ 
    return Mage::getUrl('callpayment/standard/start', array('_secure' => true)); 
} 

}

+0

denke ich, hier gleiche Problem mit Antwort http://stackoverflow.com/questions/7926087/magento-module-works-well-on-localhost-but-not-on-live-server/ –

+0

ich bin gerade Ich knalle meinen Kopf gegen den Kerncode, um zu sehen, ob ich eine Lösung finden kann. Immer noch keine Antwort. –

+0

Sie Code funktioniert gut. Vielleicht hast du nicht alle Dateien kopiert? Hier ist keine Datei von /app/etc/modules/*.xml –

Antwort

0

Auf einen Blick meine erste Frage wäre, ob PHP Ihre Produktion include_path Einstellung weiß, wo man suchen die Bestdirect Bibliothek zu bestimmen. Die require_once-Anweisung verwendet diesen Pfad und schlägt fehl, wenn sie die Bibliothek nicht finden kann. Dieser Fehler wird vermutlich auf Ihrem Produktionsserver nicht auftreten, da Sie wahrscheinlich display_errors deaktiviert haben.

+0

Ich versuchte es tatsächlich, indem ich require_once entfernte und alles entfernte. Ich verließ nur Modell calss Name und schützte $ _code, aber die gleiche Sache. –

+0

Können Sie klären? Das Entfernen von 'require_once' wird das Problem wahrscheinlich verschlimmern, da' Verkkomaksut_Module_Rest.php' nicht geladen wird. Stellen Sie entweder den vollständigen Pfad zur 'Bestdirect'-Bibliothek voran oder ändern Sie Ihre PHP' include_path'-Einstellung so, dass sie auf diesen Pfad verweist. Ich vermute, dass dies zu dem Problem beiträgt, mit dem Sie konfrontiert sind. – Jason

+0

Vielleicht sollte ich klären.Ich entferne erfordern einmal und alles Funktion Verkkomaksut_Module_Rest.php. Eigentlich habe ich gerade ein einfaches Zahlungsmodul mit nur Modellklasse erstellt. Es funktioniert auf Dev Site Bit nicht auf Live-Site. –

-2

Ich weiß, das ist eine alte Frage, aber das könnte jemandem helfen. Dies ist wahrscheinlich ein Tippfehler in Groß-/Kleinschreibung. Zero Cools Modulname ist Bestdirect_CallPayment, wenn auf app/etc/Bestdirect_CallPayment.xml der Modulname in einer anderen Groß-/Kleinschreibung Kombination eingegeben wird (z. B. Bestdirect_Callpayment) wird es auf einem Mac aber nicht auf Linux funktionieren. Das liegt daran, dass Dateisysteme mit Groß-/Kleinschreibung umgehen. Ich hoffe es hilft!

Verwandte Themen