Skip to content

Instantly share code, notes, and snippets.


David Alexander davidalexander

View GitHub Profile
View gist:6731541
grep "HTTP\/...\" 404" nginx-access.log | awk '{ print $16}' | sort | uniq
alistairstead / local.xml
Created Nov 1, 2014
Disable the automatic application of update scripts on each page request following cache clear. Use MageRun to apply the upgrades manually within a controlled step.
View local.xml
<?xml version="1.0"?>
alistairstead / gist:1053331
Created Jun 29, 2011
Find bad things in Magento customisations
View gist:1053331
find . -name "*.phtml" -print | xargs grep --color=auto -iRnH "Mage::getModel("
find . -name "*.phtml" -print | xargs grep --color=auto -iRnH "Mage::getResourceModel("
find . -name "*.phtml" -print | xargs grep --color=auto -iRnH "Mage::getSingleton("
find . -name "*.phtml" -print | xargs grep --color=auto -iRnH "SELECT.*FROM.*;[\"\']"
find . -name "*.php" -print | xargs grep --color=auto -iRnH "htmlEscape("
find ./app/code/local -name "*.php" -print | xargs grep --color=auto -iRnH "htmlEscape("
find ./app/code/local -name "*/Block/*.phtml" -print | xargs grep --color=auto -iRnH "SELECT.*FROM.*;[\"\']"
find ./app/code/local -name "*.php" -print | xargs grep --color=auto -iRnH "\$_[GET|REQUEST|SERVER|POST]"
find ./app/code/local -name "*.php" -print | xargs grep --color=auto -iRnH "public _construct"
find . -name "*.php" -print | xargs grep --color=auto -iRnH "public _construct"
Vinai / install-0.1.0.php
Last active Nov 30, 2016 — forked from kojiromike/install-0.1.0.php
Example Magento1 install script with some explanation.
View install-0.1.0.php
// I almost never use $installer = $this; instead I prefer to use the following
$installer = Mage::getResourceModel('catalog/setup', 'catalog_setup');
// This is just an example of instantiating the setup class in the script. Of
// course I choose the appropriate setup class and resource on a case by case basis.
// That way it is very visible what setup class is being used. It can also be
// switched within a single setup script, for example to add attributes to
astorm / gist:2974947
Created Jun 22, 2012
Magento's Performance Profile
View gist:2974947
There's multiple reasons Magento's performance profile is different
than most "mid-2000s" LAMP stack frameworks and CMS systems.
1. SQL Bottleneck: Magento's functionality is implemented in such a
way that there's a large number of SQL queries on each page request.
Between the special EAV structure of product/category models, and a
general "model first" approach to development, you end up seeing a lot
of SQL queries.
2. "Classical" (Java/C#) style OOP. Magento uses a class heavy
mpchadwick / Mpchadwick_Missing_Acl_Checker.php
Created Jul 11, 2015
View Mpchadwick_Missing_Acl_Checker.php
require_once 'abstract.php';
* Generate a CSV of modules with admin routes that haven't implemented _isAllowed()
class Mpchadwick_Missing_Acl_Checker extends Mage_Shell_Abstract
const MODULES_PATH = 'modules';
Marko-M /
Last active Jun 6, 2019
Magento2 performance toolkit
# Generate sample data and trigger Magento2 performance toolkit jMeter test plan.
colinmollenhour / Update.php
Created Aug 16, 2016
Improve Magento Layout Cache Efficiency
View Update.php
* This rewrite modifies the caching behavior so that the layout cache key references a SHA1
* hash of the layout XML instead of the XML itself to avoid duplication. The layout XML must
* still be generated once for each layout key, but it will not be saved if the identical
* contents already exist, saving considerable cache backend storage.
class Template_Core_Model_Layout_Update extends Mage_Core_Model_Layout_Update
lg0 / markdown.xml
Created Apr 10, 2012
Markdown Syntax Highlighting for Sublime text 2
View markdown.xml
<!-- copy this to YOUR_THEME.tmTheme-->
<string>diff: deleted</string>
View gist:6290973
delimiter ;;
drop procedure if exists build_catalog;;
create procedure build_catalog(IN categories INT, IN products INT)
SET @category_count = 1;