<?xml version="1.0"?>
<rss version="2.0"><channel><title/><link>https://opencartforum.com/en/blogs/246-otvinta/</link><description><![CDATA[<p>
	Отвинта. Кричал Карлсон, в баре "Голубая Устрица".
</p>]]></description><language>en</language><item><title>&#x41D;&#x43E;&#x432;&#x43E;&#x440;&#x456;&#x447;&#x43D;&#x430; &#x43A;&#x430;&#x437;&#x43A;&#x430; &#x43F;&#x440;&#x43E; &#x434;&#x432;&#x430; &#x43C;&#x430;&#x436;&#x43E;&#x440;&#x43D;&#x456; &#x440;&#x435;&#x43B;&#x456;&#x437;&#x438; &#x442;&#x430; &#x43E;&#x434;&#x438;&#x43D; &#x430;&#x431;&#x441;&#x443;&#x440;&#x434;&#x43D;&#x438;&#x439; &#x431;&#x430;&#x433;</title><link>https://opencartforum.com/blogs/entry/558-novorichna-kazka-pro-dva-mazhorni-relizi-ta-odin-absurdniy-bag/</link><description><![CDATA[<p>
	Якщо у вас <abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом">опенкарт</abbr> версій 2.* або 3.* ви навіть можете не здогадуватись про цей баг у пагінації.
</p>

<p>
	Бо проявляється він тільки на п'ятій сторінці де генерується посилання-дубль головної сторінки виду ?page=1
</p>

<p>
	Ви спитаєте в чому причина? У приведенні типів 
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$i </span><span class="pun">===</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span></pre>

<p>
	І так, баг працює вже понад 10 років. Він абсурдний. Його ніхто не помічає, а він є.<br />
	Лікується дуже просто, прибираєте зайвий <strong>= </strong>
</p>

<p>
	і насолоджуєтесь чистою пагінацією без дублювання першої сторінки.
</p>

<p>
	 
</p>

<p>
	Всіх зі святами!
</p>
]]></description><guid isPermaLink="false">558</guid><pubDate>Tue, 06 Jan 2026 13:10:03 +0000</pubDate></item><item><title>Opencart &#x43D;&#x430; &#x441;&#x442;&#x435;&#x440;&#x43E;&#x457;&#x434;&#x430;&#x445;</title><link>https://opencartforum.com/blogs/entry/510-opencart-na-steroyidah/</link><description><![CDATA[<p>
	Переривши безліч інформації щодо кешу та кешування опенкарту, я так і не знайшов простого та бюджетного способу прискорити TTFB.
</p>

<p>
	Час від часу я натрапляв на доповнення щодо кешу опенкарту для LiteSpeed.
</p>

<p>
	Але чомусь я так і не знайшов жодної дієвої інструкції (та доповнення) як робити <strong>дієвий </strong>кеш опенкарту в Nginx, особливо якщо у вас шаблон залежний від типу пристрою.
</p>

<p>
	І головною проблемою, яка постане перед вами при вирішенні цього питання це .... проксування куків з кешу і бекенду.
</p>

<p>
	 
</p>

<p>
	В кого є які думки з цього приводу?
</p>

<p>
	 
</p>

<p>
	Upd1
</p>

<p>
	Дві функції які роблять твій сайт повільним
</p>

<p>
	 
</p>

<p><a href="https://opencartforum.com/storage/attachment/monthly_2023_05/1928051777_SmartBoostBefore2.png.115de392c8883731adbaf78389a11076.png" class="ipsAttachLink ipsAttachLink_image"><img loading="lazy" data-fileid="756751" src="https://opencartforum.com/applications/core/interface/js/spacer.png" data-src="https://opencartforum.com/storage/attachment/monthly_2023_05/149401526_SmartBoostBefore2.thumb.png.1b76173be3e075d17822123fa729c125.png" data-ratio="39,3" width="1000" class="ipsImage ipsImage_thumbnailed" alt="SmartBoost Before2.png"></a></p>]]></description><guid isPermaLink="false">510</guid><pubDate>Fri, 26 May 2023 11:50:00 +0000</pubDate></item><item><title><![CDATA[Мультимова & Nginx+php-fpm]]></title><link>https://opencartforum.com/blogs/entry/509-multimova-nginxphp-fpm/</link><description><![CDATA[<p>
	Якщо ви використовуєте панелі управління серверами <strong>VestaCP/Hestia</strong> в режимі <strong>Nginx+php-fpm </strong>без Apache (то ви вже молодці <span>:</span>).
</p>

<p>
	І плануєте встановити (або вже використовуєте) багатомовність з префіксами виду /uk/url.html то перед вами постане одна проблема, яка пов'язана з кривим дефолтним конфігом Nginx в цих панелях.
</p>

<p>
	Проблема полягає в тому що сервер не буде обробляти запити типу /uk/index.php?route= і видаватиме помилку 404.
</p>

<p>
	<strong>Лікуємо.</strong>
</p>

<p>
	Перед
</p>

<pre class="ipsCode">            if (!-f $document_root$fastcgi_script_name) {
                return  404;
            }</pre>

<p>
	 
</p>

<p>
	в <strong>location ~ [^/]\.php(/|$) {</strong>
</p>

<p>
	потрібно записати
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">            if (!-e $request_filename) {
                rewrite ^/(.+)$ /index.php?_route_=$1 last;
            }</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">509</guid><pubDate>Thu, 25 May 2023 14:30:00 +0000</pubDate></item><item><title><![CDATA[Session & opencart. WTF?]]></title><link>https://opencartforum.com/blogs/entry/506-session-opencart-wtf/</link><description><![CDATA[<p>
	<abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом"><abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом">Опенкарт</abbr></abbr> існує вже десятки років, а в ньому, до чого часу, існує "не баг а фіча" з сесією. Точніше з кукою сесії.
</p>

<p>
	По-перше вона існую тільки поки відкритий браузер. Що дуже дивно.
</p>

<p>
	По-друге. Навіть якщо ви зміните час життя самої куки, то це вам не допоможе. Бо кука буде діяти, не з поточного часу, а з моменту її створення 0_____о
</p>

<p>
	А все через це
</p>

<p>
	<a href="https://www.php.net/manual/ru/function.session-set-cookie-params.php#100657" rel="external nofollow">https://www.php.net/manual/ru/function.session-set-cookie-params.php#100657</a>
</p>

<p>
	 
</p>

<p>
	Вирішуеться це просто
</p>

<p>
	Замість
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pln">session_set_cookie_params</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'/'</span><span class="pun">);</span><span class="pln">
session_start</span><span class="pun">();</span></pre>

<p>
	Потрібно використовувати
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pln">$lifetime </span><span class="pun">=</span><span class="pln"> </span><span class="lit">8640000</span><span class="pun">;</span><span class="pln">
session_start</span><span class="pun">();</span><span class="pln">
setcookie</span><span class="pun">(</span><span class="pln">session_name</span><span class="pun">(),</span><span class="pln">session_id</span><span class="pun">(),</span><span class="pln">time</span><span class="pun">()+</span><span class="pln">$lifetime</span><span class="pun">,</span><span class="str">'/'</span><span class="pun">);</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">506</guid><pubDate>Mon, 22 May 2023 11:52:00 +0000</pubDate></item><item><title>&#x413;&#x43E;&#x441;&#x443;&#x434;&#x430;&#x440;&#x441;&#x442;&#x432;&#x43E; &#x432; &#x433;&#x43E;&#x441;&#x443;&#x434;&#x430;&#x440;&#x441;&#x442;&#x432;&#x435;?</title><link>https://opencartforum.com/blogs/entry/396-gosudarstvo-v-gosudarstve/</link><description><![CDATA[<p>
	Неужто пришло такое время что родительский маркетплейс opencart.com теперь рассматривается как "вражеский конкурент"?
</p>

<p>
	И размещать ссылки на модули, размешенные там, нельзя, только по причине того, что там они имеют гораздо больший функционал, но при этом создают "конкуренцию" нашим "ламповым кулибинам"?
</p>

<p>
	Иначе объяснить причину удаления моего комметария на <a href="https://www.opencart.com/index.php?route=marketplace/extension/info&amp;extension_id=33000" rel="external nofollow">https://www.opencart.com/index.php?route=marketplace/extension/info&amp;extension_id=33000</a> я не могу.
</p>]]></description><guid isPermaLink="false">396</guid><pubDate>Mon, 22 Mar 2021 15:17:00 +0000</pubDate></item><item><title>&#x41B;&#x430;&#x439;&#x444;&#x445;&#x430;&#x43A; &#x438; &#x437;&#x430;&#x43A;&#x43E;&#x43D; "&#x41F;&#x440;&#x43E; &#x43C;&#x43E;&#x432;&#x443;"</title><link>https://opencartforum.com/blogs/entry/388-layfhak-i-zakon-pro-movu/</link><description><![CDATA[<p>
	Знаете как обычно это бывает?
</p>

<p>
	Роблю, роблю. Чую будять.
</p>

<p>
	Так и UANet внезапно встал перед дилемой о локализации по умолчанию на украинский язык.
</p>

<p>
	Кто-то про данный закон не знал, кто-то думал что пронесет и его отменят, а кто-то (например как я) попросту не успевают сделать перевод своего маленького магазинчика в 30000 наименований.
</p>

<p>
	Но тем не менее. Dura lex sed lex
</p>

<p>
	Как в же в пару строк кода сделать свой сайт таким чтоб он соответствовал данному закону?
</p>

<p>
	Легко. Качаем <a href="https://github.com/get-web/google-translate-custom-widget" rel="external nofollow">https://github.com/get-web/google-translate-custom-widget</a>
</p>

<p>
	Подключаем в хедере стили и скрипты
</p>

<p>
	В футер добавляем html-код с языками
</p>

<p>
	И в google-translate.js вносим единственное изменение
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted">
<span class="kwd">const</span><span class="pln"> googleTranslateConfig </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="com">/* Original language */</span><span class="pln">
    lang</span><span class="pun">:</span><span class="pln"> </span><span class="str">"ru"</span><span class="pun">,</span><span class="pln">
    </span><span class="com">/* The language we translate into on the first visit*/</span><span class="pln">
    </span><span class="com">/* Язык, на который переводим при первом посещении */</span><span class="pln">
    langFirstVisit</span><span class="pun">:</span><span class="pln"> </span><span class="str">'uk'</span><span class="pun">,</span><span class="pln">
    </span><span class="com">/* Если скрипт не работает на поддомене, 
    раскомментируйте и
    укажите основной домен в свойстве domain */</span><span class="pln">
    </span><span class="com">/* domain: "Get-Web.Site" */</span><span class="pln">
</span><span class="pun">};</span></pre>

<p>
	Все. Мы все молодцы.
</p>]]></description><guid isPermaLink="false">388</guid><pubDate>Thu, 21 Jan 2021 11:43:28 +0000</pubDate></item></channel></rss>
