- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
$currurl = str_replace(" ", '', $this->helper('core/url')->getCurrentUrl());
if (strpos($currurl, 'index.php/')) {
$currurl = str_replace('index.php/', '', $currurl);
} else if (strpos($currurl, '/index.php')) {
$currurl = str_replace('index.php', '', $currurl);
}
$url_suffix = (substr($currurl, strlen(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB))));
<?php if (strlen($url_suffix) <= 0) : #not homepage ?>
...
В одной строке 7 используется пять разных конвенций об именовании:
Не только. Неконсистентность одной только стандартной библиотеки может доставлять баттхёрты, а если добавить сюда все схемы именования, придуманные за десятилетия непризнанными гениями, масштабы трагедии поражают воображение.
В C++, кстати, похожая ситуация. Стандартная библиотека ещё более-менее вменяема (хотя всё же чётко разделяется по стилю на части cstdlib/iostreams/stl), но разных стилей за десятилетия придумали тыщи, и частенько всё это смешивается в одном модуле.
Саму суть поймут только Magento разработчики ;)
MS_Power_Shell style. МС вообще особенно любят конвеции такие, чтобы печатать было максимально неудобно: чем больше прописных и подчерков - тем лучше.
2. URL может содержать в конце знак вопроса, который не делает страницу «недомашней», однако, не ловится таким кодом. Более того, на страницу можно попасть с агрегаторов новостей и тогда URL будет содержать GET-параметры utm_source и т. п.
PHP — край загадок и чудес. У меня был разрыв шаблона, когда узнал, что empty("0") == TRUE (при том, что empty("000") == FALSE), а is_null("0") == FALSE.