PrestaShop udostępnia zestaw predefiniowanych stałych w PHP, które możesz wykorzystywać w modułach i motywach, aby odwoływać się do ścieżek, adresów URL i parametrów systemowych bez „twardego” wpisywania wartości. Dzięki temu kod jest przenośny i zgodny z różnymi instalacjami.
Uwaga: Część stałych wskazuje ścieżki na dysku, a inne adresy URL. Zwróć uwagę, czego potrzebujesz w danym miejscu.
- _PS_ROOT_DIR_ – ścieżka do katalogu głównego instalacji PrestaShop
- _PS_MODULE_DIR_ – ścieżka do katalogu modułów (/modules)
- _PS_OVERRIDE_DIR_ – ścieżka do katalogu overrides (/override)
- _PS_THEME_DIR_ – ścieżka do katalogu aktualnego motywu (/themes/nazwa_motywu)
- _PS_IMG_DIR_ – ścieżka do katalogu obrazów (/img)
- _PS_CACHE_DIR_ – ścieżka do katalogu cache (/cache)
- _PS_DOWNLOAD_DIR_ – ścieżka do katalogu pobrań (/download)
- __PS_UPLOAD_DIR__ – ścieżka do katalogu uploadów (/upload)
- _PS_TRANSLATIONS_DIR_ – ścieżka do tłumaczeń (/translations)
- _PS_CONFIG_DIR_ – ścieżka do konfiguracji (/config)
- _PS_TOOLS_DIR_ – ścieżka do narzędzi (/tools)
- _PS_ADMIN_DIR_ – ścieżka do panelu administracyjnego (np. /adminxxxx, może być zmieniona)
- _PS_JS_DIR_ – ścieżka do plików JS PrestaShop
- _PS_CSS_DIR_ – ścieżka do plików CSS PrestaShop
- _PS_VERSION_ – wersja PrestaShop (np. 1.7.8.11)
- _PS_DEBUG_MODE_ – czy tryb debugowania jest włączony (true/false)
- _PS_MODE_DEV_ – czy tryb deweloperski jest włączony (true/false)
- _PS_CACHE_ENABLED_ – czy cache systemowy jest aktywny (true/false)
- _PS_CACHING_SYSTEM_ – używany system cache (np. CacheMemcache)
- _PS_BASE_URL_ – bazowy URL sklepu (HTTP)
- _PS_BASE_URL_SSL_ – bazowy URL sklepu po HTTPS
- _PS_MODULE_URL_ – bazowy URL do modułów
- _PS_THEME_URI_ – URL do katalogu aktualnego motywu
- _PS_IMG_ – URL do katalogu obrazów
- _PS_JS_DIR_ – URL do katalogu skryptów JS
- _PS_CSS_ – URL do katalogu arkuszy CSS
- _THEME_NAME_ – nazwa używanego motywu
- _PARENT_THEME_NAME_ – nazwa motywu nadrzędnego (jeśli istnieje)
- _THEME_IMG_DIR_ – ścieżka do obrazów motywu bieżącego
- _THEME_CSS_DIR_ – ścieżka do CSS motywu (np. assets/css/)
- _THEME_JS_DIR_ – ścieżka do JS motywu (np. assets/js/)
- _DB_SERVER_ – host bazy danych
- _DB_NAME_ – nazwa bazy
- _DB_USER_ – użytkownik bazy
- _DB_PASSWD_ – hasło
- _DB_PREFIX_ – prefiks tabel (domyślnie ps_)
- _MYSQL_ENGINE_ – silnik tabel (np. InnoDB)
1) Przekazanie zmiennych do Smarty:
Kod: Zaznacz cały
$this->smarty->assign([
'customer_name' => $this->context->employee->firstname.' '.$this->context->employee->lastname,
'overridepath' => _PS_ROOT_DIR_.DIRECTORY_SEPARATOR.'override'.DIRECTORY_SEPARATOR.'controllers'
.DIRECTORY_SEPARATOR.'admin'.DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR
.'carts'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'view'.DIRECTORY_SEPARATOR.'view.tpl',
'product_shop_id'=> $this->product_shop_id,
]);
Kod: Zaznacz cały
if (version_compare(_PS_VERSION_, '1.7.7', '<')) {
$this->installOverrideAdminTemplates();
}
Kod: Zaznacz cały
$this->module_adminreview_path = _PS_MODULE_DIR_.$this->name.'/views/templates/admin/post-review-modal.tpl';
Kod: Zaznacz cały
$themeCacheFolder = _PS_THEME_DIR_.'assets/cache/';
- Zawsze używaj stałych zamiast wpisywania ścieżek/URL na sztywno – unikniesz problemów przy migracjach i środowiskach (dev/stage/prod).
- Do konkatenacji ścieżek w PHP korzystaj z DIRECTORY_SEPARATOR tam, gdzie to sensowne.
- Dla wersjonowania funkcji/feature flag używaj version_compare(_PS_VERSION_, ...).
- Jeśli tworzysz zasoby w motywie, trzymaj porządek w assets/css i assets/js oraz korzystaj ze stałych motywu.