Anfrage direkt an:
0175/9167312
email@henryschorradt.de

EDV & IT Service – Dienstleistungen – einfach-machen.de

EDV – Computerhilfe – Joomla – Wordpress – Magento – Administration – Internet – Telefonie – Programmierung – Satz & Layout

Lanot File Manager – Uploader – Magento 1.9.3 – Bugfix

Hier ist ein Patch für Lanot File Manager v. 1.1.0 für Magento 1.9.3

Der Uploader wurde im Patch zu Magento 1.9.3 etwas überarbeitet sodass aufbauende Module eventl. nicht mehr funktionieren. So ist auch der Lanot File Manager betroffen. Da ich den Eindruck habe, dass dieses Module nicht mehr weiterentwickelt wird, habe ich mir erlaubt selbst ein Patch/Bugfix zu erstellen.

---
 .../Block/Adminhtml/Content/Uploader.php           | 31 +++++++++++++++++-----
 .../community/Lanot/FileManager/etc/config.xml     |  2 +-
 .../default/default/layout/lanot_filemanager.xml   |  7 +++--
 3 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/app/code/community/Lanot/FileManager/Block/Adminhtml/Content/Uploader.php b/app/code/community/Lanot/FileManager/Block/Adminhtml/Content/Uploader.php
index 801ba45..5557fff 100644
--- a/app/code/community/Lanot/FileManager/Block/Adminhtml/Content/Uploader.php
+++ b/app/code/community/Lanot/FileManager/Block/Adminhtml/Content/Uploader.php
@@ -18,15 +18,16 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 class Lanot_FileManager_Block_Adminhtml_Content_Uploader
-    extends Mage_Adminhtml_Block_Cms_Wysiwyg_Images_Content_Uploader
+    extends Mage_Uploader_Block_Multiple
+    //extends Mage_Adminhtml_Block_Cms_Wysiwyg_Images_Content_Uploader
 {
     public function __construct()
     {
         parent::__construct();
-        $params = $this->getConfig()->getParams();
+        $params = $this->getUploaderConfig()->getParams();
         $type = $this->_getMediaType();
-
         $allowed = Mage::getSingleton('lanot_filemanager/storage')->getAllowedExtensions($type);
+
         $labels = array();
         $files = array();
 
@@ -40,15 +41,33 @@ class Lanot_FileManager_Block_Adminhtml_Content_Uploader
             }
         }
 
-        $this->getConfig()
-            ->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/upload', array('type' => $type)))
+        $this->getUploaderConfig()
+            ->setTarget(
+                Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/upload', array('type' => $type))
+            )
             ->setParams($params)
-            ->setFileField('image')//@todo: post key
+            ->setFileParameterName('image')
             ->setFilters(array(
                 'files' => array(
                     'label' => $this->helper('cms')->__('Files (%s)', implode(', ', $labels)),
                     'files' => $files
                 )
             ));
+
+    }
+
+
+    /**
+     * Return current media type based on request or data
+     * @return string
+     */
+    protected function _getMediaType()
+    {
+        if ($this->hasData('media_type')) {
+            return $this->_getData('media_type');
+        }
+        return $this->getRequest()->getParam('type');
     }
+
+
 }
diff --git a/app/code/community/Lanot/FileManager/etc/config.xml b/app/code/community/Lanot/FileManager/etc/config.xml
index 3952316..e27a733 100644
--- a/app/code/community/Lanot/FileManager/etc/config.xml
+++ b/app/code/community/Lanot/FileManager/etc/config.xml
@@ -3,7 +3,7 @@
 
     <modules>
         <Lanot_FileManager>
-            <version>1.1.0</version>
+            <version>1.1.1</version>
         </Lanot_FileManager>
     </modules>
 
diff --git a/app/design/adminhtml/default/default/layout/lanot_filemanager.xml b/app/design/adminhtml/default/default/layout/lanot_filemanager.xml
index adbc2f3..ea23695 100644
--- a/app/design/adminhtml/default/default/layout/lanot_filemanager.xml
+++ b/app/design/adminhtml/default/default/layout/lanot_filemanager.xml
@@ -10,8 +10,8 @@
     <lanot_filemanager_adminhtml_media_index>
         <update handle="editor" />
         <reference name="head">
-            <action method="addCss"><name>lanot_filemanager.css</name></action>
             <action method="addJs"><script>lanot/filemanager/browser.js</script></action>
+            <action method="addCss"><name>lanot_filemanager.css</name></action>
         </reference>
         <reference name="left">
             <block name="wysiwyg_images.js" type="lanot_filemanager/adminhtml_content" template="lanot/filemanager/browser/js.phtml" />
@@ -19,7 +19,10 @@
         </reference>
         <reference name="content">
             <block name="wysiwyg_images.content"  type="lanot_filemanager/adminhtml_content" template="cms/browser/content.phtml">
-                <block name="wysiwyg_images.uploader" type="lanot_filemanager/adminhtml_content_uploader" template="cms/browser/content/uploader.phtml" />
+                <block name="wysiwyg_images.uploader" type="lanot_filemanager/adminhtml_content_uploader" template="media/uploader.phtml" >
+                    <!-- template="cms/browser/content/uploader.phtml"  -->
+                    <block name="additional_scripts" type="core/template" template="cms/browser/content/uploader.phtml"/>
+                </block>
                 <block name="wysiwyg_images.newfolder" type="adminhtml/cms_wysiwyg_images_content_newfolder" template="cms/browser/content/newfolder.phtml" />
             </block>
         </reference>
-- 
1.9.5.msysgit.0

Invalid callback: Model for mage_customer/observer::deleteCustomerFlowPassword does not exist

Nach dem Update auf Magento 1.9.3 taucht plötzlich diese Fehlermeldung in den Logs auf:

„Invalid callback: Model for mage_customer/observer::deleteCustomerFlowPassword does not exist“

Aktuell gibt es keine Möglichkeit den Issue-Tracker von Magento zu verwenden.
Meine Lösung für das Problem:

Editiert folgende Datei:
/app/code/core/Mage/Customer/etc/config.xml

In Zeile 606 bitte folgende Änderung durchführen und speichern:
Vorher:
<model>mage_customer/observer::deleteCustomerFlowPassword</model>

Nachher:
<model>customer/observer::deleteCustomerFlowPassword</model>

Jetzt nur doch Cache erneuern und dann funktioniert der Cron fehlerfrei…

Magento Module – SCHUFA – Siml2 Gateway

Ein Magento-Shop zu betreiben ist eine Herausforderung, sowohl technisch als auch finanziell ein Abenteuer. Wer Rechnung als Zahlart/Zahlmethode anbieten möchte, steht immer wieder vor dem Risiko eines Zahlungsausfalles des Kunden.

Aktuell habe ich ein Magento-Module programmiert welches genau an diesem Punkt eingreift und im Checkout-Prozess eine abstrakte SCHUFA-Prüfung durchführt und nach gewissen Regeln die ein oder andere Zahlart dem Kunden nicht zur Verfügung stellt.

Voraussetzungen dafür sind natürlich vorab; Geschäftspartner der SCHUFA zu sein; sich die Nutzung des SCHUFA Siml2 Gateway freischalten zu lassen und technisch müssen auf den Webservern entsprechende SSL-Zertifikate hinterlegt sein. Wenn alles das vorhanden ist, kann mittels des SCHUFA Magento Extension, auch der Testprozess durchgeführt werden bis hin zur Abnahme und Freischaltung zur Nutzung der produktiven XML Schnittstelle der SCHUFA. Zum Schluss aktiviert man das SCHUFA Magento Module und konfiguriert die SCHUFA Risikogrenze und filtert betroffenen Zahlarten raus und kann mit einer gewissen Sicherheit „Rechnung“ oder andere riskante Zahlarten anbieten bzw. verhindern.

Die Entwicklung und der gesamte Prozess und die Zusammenarbeit mit SCHUFA war sehr interessant und nett und eine Erfahrung. Vielen Dank dafür.

Widget und Variablen Button in Produkt- und Kategoriebeschreibung aktivieren

Ich setze vorraus, dass das Erstellen eines Magento Moduls bekannt ist!

In der Produktbeschreibung und Kategoriebeschreibung sind zwar Wysiwyg anschaltbar, aber die Buttons für Variablen und Widgets sind nicht aktiviert. Manchmal möchte man das aber auch da verwenden! Darum hier eine Lösung.

  1. Erstelle ein Module mit einem Observer
    /Model/Observer.php

class Package_Modul_Model_Observers{
    /**
     * @param Varien_Event_Observer $observer
     * @return $this
     */
    public function addVariableButton(Varien_Event_Observer $observer){
        $config = $observer->getEvent()->getConfig();
        if(!$config->getData('add_variables')) {
            $settings = Mage::getModel('core/variable_config')->getWysiwygPluginSettings($config);
            $config->addData($settings);
        }
        return $this;
    }

    /**
     * @param Varien_Event_Observer $observer
     * @return $this
     */
    public function addWidgetButton(Varien_Event_Observer $observer){
        $config = $observer->getEvent()->getConfig();
        if(!$config->getData('add_widgets')) {
            $settings = Mage::getModel('widget/widget_config')->getPluginSettings($config);
            $config->addData($settings);
        }
        return $this;
    }
}

 

  1. Den Observer mit folgendem Event ‚cms_wysiwyg_config_prepare‘ in der /etc/config.xml anmelden

...
<cms_wysiwyg_config_prepare>
    <observers>
        <addwidgetbutton>
            <class>modul/observers</class>
            <method>addWidgetButton</method>
        </addwidgetbutton>
        <addvariablebutton>
            <class>modul/observers</class>
            <method>addVariableButton</method>
        </addvariablebutton>
    </observers>
</cms_wysiwyg_config_prepare>
... 

Aktuell funktioniert diese Lösung für Magento CE 1.9.1.0

Beste Grüße!

Fehlerhafter Login nach Erst-Installation – localhost & xampp – Magento

Schon zum zweiten mal konnte ich mich nach der Installation von Magento CE (Community-Edition) 1.19.0.1 nicht einloggen.
Einige Lösungsansätze in der Community missfallen mir, da diese ein Eingriff in Core-Dateien vorschlagen.

Es geht auch anders:

Schritt 1 – Cache leeren auf Dateiebene:

Folgendes Verzeichnis einfach komplett leeren:

[MAGENTOROOT]/var/session/
[MAGENTOROOT]/var/cache/

Schritt 2 – Konfigurationswerte per SQL setzen

Folgende mySQL-Anweisungen entsprechend anpassen und per adminer oder PhpMyAdmin für die Datenbank ausführen
Anpassung: „http://127.0.0.1/magento/“ entsprechend der eigenen Umgebung anpassen

INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`) VALUES (NULL, 'default', '0', 'web/cookie/cookie_httponly', '0');
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`) VALUES (NULL, 'default', '0', 'web/unsecure/base_url', 'http://127.0.0.1/magento/');

Schritt 3 – Magento nicht unter „localhost“ im Browser öffnen

Ein weiterer Grund für den Loginfehler scheint daran zu hängen, dass das Cookiehandling nicht korrekt funktioniert wenn man Magento mit [http://localhost/magento] aufruft. Darum statt localhost einfach 127.0.0.1 als Domain verwenden:

[http://127.0.0.1/magento]

Danach sollte der Login in Magento-Backend funktionieren.

Der selbe Lösungsansatz funktioniert auch bei der Magento EE (Enterprise Edition) 1.14.0.1!