-
Публікації
1 500 -
З нами
Vladzimir's Achievements
-
Vladzimir підписався на Встановлення та налаштування
-
Скопіюйте каталог system до кореневого каталогу завантаження OpenCart. Додайте наведені нижче параметри до system/config/default.php, після чого оновіть кеш модифікаторів в адміністративній панелі: $_['cryptex_key'] = 'RANDOM%STRING'; $_['cryptex_max'] = 9000000; // Верхня межа справжнього ID, не включно. $_['cryptex_smooth'] = 1000000; // Зсув, що додається до зашифрованого значення. $_['cryptex_start'] = 123; // Перший справжній ID, який потрібно приховувати. Цей приклад підтримує справжні ID замовлень до 8999999 включно та створює семизначні публічні ID в діапазоні від 1000000 до 9999999. Вимоги: 64-бітна версія PHP; cryptex_key має бути непорожнім секретним рядком; 0 <= cryptex_start < cryptex_max; cryptex_smooth >= cryptex_start; сума cryptex_max - 1 + cryptex_smooth має вміщуватися в ціле число PHP. Не змінюйте ключ або числові налаштування після створення публічних ID: правильне декодування старих посилань залежить від незмінності цих значень.
-
Тоді краще відмовити такому клієнту, бо скоро він збанкрутує.
- 6 023 відповіді
-
- новая почта
- модуль доставки
- (і ще 9)
-
Ну ось я клієнт, я прийняв рішення, що не хочу переплачувати за страхування. Товар анігільований і я пишу вам - де мій товар або повертайте гроші. Ваші дії?
- 6 023 відповіді
-
- 1
-
-
- новая почта
- модуль доставки
- (і ще 9)
-
Поки клієнт не отримав своє замовлення - товар належить вам. Тому розбиратися з доставкою повинен магазин, а не клієнт.
- 6 023 відповіді
-
- новая почта
- модуль доставки
- (і ще 9)
-
В мене є ще одна геніальна реалізація ім. Д.Керра - перманентне оновлення кошика при будь-якому звертанні до сайту system/library/cart/cart.php $this->db->query("UPDATE " . DB_PREFIX . "cart SET session_id = '" . $this->db->escape($this->session->getId()) . "' WHERE api_id = '0' AND customer_id = '" . (int)$this->customer->getId() . "'"); От нахіба так робити, якщо сесія не змінилася? Це ж дуже просто $this->db->query("UPDATE " . DB_PREFIX . "cart SET session_id = '" . $this->db->escape($this->session->getId()) . "' WHERE api_id = '0' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id != '" . $this->db->escape($this->session->getId()) . "'");
-
Там вся черхарда через $start = $page - floor($num_links / 2); $end = $page + floor($num_links / 2); А в кінці строго порівнюють int з float Але мене дивує що це роками живе в коді і ніхто цього не помічає. І в черговий раз ми отримуємо підтвердження що Д. Керр - говнокодер.
-
Якщо у вас опенкарт версій 2.* або 3.* ви навіть можете не здогадуватись про цей баг у пагінації. Бо проявляється він тільки на п'ятій сторінці де генерується посилання-дубль головної сторінки виду ?page=1 Ви спитаєте в чому причина? У приведенні типів if ($i === 1) { І так, баг працює вже понад 10 років. Він абсурдний. Його ніхто не помічає, а він є. Лікується дуже просто, прибираєте зайвий = і насолоджуєтесь чистою пагінацією без дублювання першої сторінки. Всіх зі святами!
-
Новачки обирають пром, де згодом стають інтернет-бомжами. Ті що трохи заробили переходять на усілякий Saas типу харашопу. Де вони і продовжують бомжувати не маючи змоги кастомізуватися та розвиватися. Якщо сайт не у вас на сервері - він вам не належить.
-
Вузька еконіша, відсутність розробників, велика вартість доповнень. Ну і головне це поробка від .
-
Можно, але при умові що ви полюбляєте садомазо
-
Дев опенкарт - как стать мудаком во время войны
blog entry прокоментував Vladzimir spectre в Блог spectre
Та я вже зрозумів, що спілкуюся з чатжпт. Питання риторичне, але з якого моменту форк публічного репозиторію на гітхабі став крадіжкою?- 77 коментарів
-
- dev-opencart
- дев опенкарт
- (і ще 5)
-
Дев опенкарт - как стать мудаком во время войны
blog entry прокоментував Vladzimir spectre в Блог spectre
Не бачу ніяких протирічь. Ні в тексті ліцензії ні в концепції ООП. Принцип залишається той самий.- 77 коментарів
-
- dev-opencart
- дев опенкарт
- (і ще 5)
-
Дев опенкарт - как стать мудаком во время войны
blog entry прокоментував Vladzimir spectre в Блог spectre
Як і будь який програміст, з базовим розумінням ООП, під агрегацією я розумію логіку, за якою один об'єкт містить посилання на інші, але при цьому вони можуть існувати і без нього. На відміну від композиції, де "частини" не можуть існувати без "цілого". Яскравий приклад композиції - модулі опенкарту не можуть "жити" окремо від екосистеми і ядра опенкарту. Що автоматично робить їх похідними роботами.- 77 коментарів
-
- dev-opencart
- дев опенкарт
- (і ще 5)