Category: Frameworks

Resolving IPv6 issues with GMail using qmail smtp

In case you are running into problems with Google Mail (GMail) rejecting mail from your qmail server running on native IPv6 with the following message 2a00:1450:4013:0c01:0000:0000:0000:001a failed after I sent the message. Remote host said: 550-5.7.1 [xxx:xxx:xxx:xxx::x 12] Our system has detected that this 550-5.7.1 message is likely unsolicited mail. To reduce the amount of […]

Currency conversion for Google Shopping Feed in Magento

When generating Google Shopping Feeds you need to make sure to use the correct currency for the target country. Thus, if you are planning for instance to target Great Britain make sure to use GBP as currency for prices in the Products Feed. This can be easily achieved by using the Magento extension Wyomind Data […]

Disable caching of API callbacks for Viveum Magento extension

Using a caching server like Varnish is mandatory for running Magento (efficiently). When using extensions that make use of callback API calls make sure that you exclude them from your caching rules. As we are using Viveum as payment gateway service for most eCommerce projects we generally deploy the official Viveum Magento extension. When using […]

Mass import products to Magento multi-store setup

So, you are about to import a large amount of products into Magento. Well, there are a couple of different approaches available. First, you could use the ancient Data Flow import based on specific profiles. Then, you could use the improved Data Import version, which still is (very) resource consuming. Lastly, there is magmi – […]

String comparison in Typoscript through user functions in TYPO3

Generally, string comparison using the on-board tools provided by TypoScript can be quite cumbersome in TYPO3. Although, for instance for globalStrings there exists the possibility to use regular expressions and the * character as wildcard, oftentimes this is not flexible enough to handle more complex conditions, such as combined conditions. User functions in TypoScript Luckily, […]

WordPress Rating-Widget shows blank reporting graph when using SSL

By default, the free version of the WordPress Rating-Widget does not officially “support” SSL/https setups. In reality, there are no problems using it on SSL setups except when it comes to the reporting graph which is loaded via a http connection set in the configuration, thus causing CORS to kick and prohibit non-safe external requests: […]

Retrieving value of hidden input DOM element in Google Tag Manager (GTM)

When implementing event tracking of user comments using Google Tag Manager for WordPress I came across a pretty strange behavior when trying to retrieve the value of a hidden <input>ย field holding the current comment post id (comment_post_ID) that should serve as event label for Google (Universal) Analytics. WordPress Comment Form Below you find the WordPress […]

Automatically clean product texts in Magento

So someone copied text from a PDF document and pasted it into the Magento product description (or short description) text field. Unfortunately, the copied text included non-printable control characters in the Unicode range from \x00โ€”\x1F and \x80-\x9f (e.g. DEL, NUL, VT, etc.) thus breaking other extensions from functioning properly, or prohibiting your data export to […]

Overloading constructors and functions in PHP

Since I was recently asked whether it’s possible to overload constructors in PHP, or functions in general, here is the quick answer: No, not in the common sense of “overloading”, i.e. creating multiple versions of the same function name with different implementations and arguments. Thus, the following is not possible by default in PHP: Pattern-based […]

Fixing Magento error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

This is just a quick fix post in case you are experiencing the error error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Check file downloader/lib/Mage/HTTP/Client/Curl.php for a proper secure transportation protocol supported by Magento Connect (SSLv3 vs. TLSv1): Solution In order to overcome this error simply add the cUrl option TLSV1: Background info Magento Connect (finally) canceled support […]

Enabling Cross-Origin Resource Sharing CORS for PHP

This post is an addition to Enabling Cross-Origin Resource Sharing CORS for Apache to show you how to enable Cross-Origin Resource Sharing CORS for PHP. Thus, in case you don’t have access to the .htaccess you can simply enable CORS for PHP using the following steps. Setting required headers using PHP As explained in Enabling […]

Automatically copy images from parent configurable product to variants in Magento

By default Magento does not copy images from parent configurable products to their child variants, i.e. associated products. So you need to manually set images for child products once they are associated with the parent configurable product, which can be rather time consuming and (let’s face it) annoying if you deal with a broader range […]