Setup Sitemap.xml in Magento 1 multistore

General information While Magento is a powerful e-commerce platform there are some drawbacks which you should do manually on every new site. For example, we cannot configure one sitemap.xml for one store with different store views, these should be three different files. It brings some misunderstanding how all should work together.

React: Local state management with Apollo

Базовими речами в React є props та state, це ключові моменти, які потрібно зрозуміти і розібрати. З props все абсолютно просто – в них передаємо дані на основі яких компоненти промальовуються. Props – це просто контейнер для зберігання даних на рівні компоненту, якщо змінити дані в props, то з компонентом нічого не відбудеться. Геть інша... » read more

Часткове промальовування компонентів React на сервері. Частина 2

Це друга стаття із серії Не стандартна робота з React – Частина 1 В попередній частині) ми поговорили про базову версію реалізації часткового промальовування React компонетів на сервері. Ми маємо значні напрацювання у відображені табличних даних (ZfcDataGrid) на PHP, було б не зовсім справедливо викинути роки роботи, тільки через те, що почали використовувати React. В... » read more

Часткове промальовування компонентів React на сервері. Частина 1

Практика описана в даній статті відноситься до Bad Practice, вона надається як зразок для менш болісного перехідного періоду і в майбутньому обов’язково має бути оптимізована під вимоги React. На початку впровадження нових технологій на проект, не можна все старе викинути і написати код заново, точніше можна, але бізнес це не оцінить. Припустимо компанія довгий час... » read more

Налаштування зв’язки ZF3+Doctrine2+GraphQL

WEB змінюється дуже швидко. Ще декілька років тому головним mainstream & best practise для реалізації API вважався REST, то сьогодні він вже має багато недоліків і всі використовують GraphQL, як єдино правильний варіант для роботи через API. Якщо серйозно, то в цих словах багато сарказму, кожен вирішує сам, що є кращим для нього. Свого часу... » read more

Doctrine 2 SQL Filter and annotation in ZF3

In a certain period of time, a user should see information about one marketplace. It can be tedious to add small WHERE condition each time when you want to work with the marketplace. Doctrine provides an elegant solution to never forget this condition in your queries. This approach can be used with Doctrine SQL Filter... » read more

MySQL. Корисні запити

Замінити значення у всіх таблицях одним запитом SELECT CONCAT('UPDATE ', table_schema, '.', table_name, ' SET ', column_name, '=REPLACE(', column_name, ',''glutamine.'',''l-glutamine.'');') FROM information_schema. COLUMNS WHERE table_schema IN ('your_database_name') -- AND table_name NOT IN ('table_name') -- exclude table names AND ( column_type LIKE 'char(%' OR column_type LIKE 'varchar(%' OR column_type LIKE '%text' );

PHP array_udiff: особливості роботи

Документація каже Вираховує відмінність масивів використовуючи compare_function (callback) для порівняння. Здається просто, але не зовсім. Функція використовує принцип сортування, і очікує, що одне з наступних значень -1, 0, 1, буде повернуто з compare_function. На stackoverflow знайшов пояснення як це працює. Продублюю тут: В compare_function ви можете повернути 0, сказавши, що об\’єкти однакові, та -1, сказавши,... » read more

Zend Framework Factory performance: ReflectionBasedAbstractFactory vs ConfigAbstractFactory vs NativeFactory

Here is comment of @weierophinney about Factory performance in Zend Framework. Summary of the benchmarks: The ConfigAbstractFactory runs at around the same speed as any other factory that pulls at least one dependency from the container. The ReflectionBasedAbstractFactory adds 2-3μs to service creation for a service that pulls at least one dependency from the container;... » read more

Zend PrefixPathStackResolver Configuration

Since ZF 2.4.0 was realized the new resolver Zend\View\Resolver\PrefixPathStackResolver with prefix_template_path_stack config key had been added. This resolver allows creating namespace or prefix for your templates.