Rapida Форк на базе simpla 2.3.8

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Пока rapida в муках появляется на свет мне пришлось еще раз вернуться к симпле. Дело было так.
Брат попросил поднять простой сервак для магазина на несколько сотен товаров. Я сразу вспомнил симплу и пообещал в течение дня сделать сервак. Все оказалось не так просто. Я уже проводил некоторый лифтинг для симплы, чтобы ее можно было запускать на современном серверном софте, прежде всего на php7. Но этого оказалось недостаточно для установки системы на свежей версии ubuntu 16.04 в следующей конфигурации:
php7.1
apache2
mysql 5.7

Все дело в том, что разработчики mysql ужесточили требования к отдельным моментам в запросах, так что стандартный симпловский дамп базы отказывался распаковываться. Дело в том, что поля с типом date в некоторых таблицах имели значения, которые новый мускул не принимает. Там была такая дата 0000-00-00.

В общем такой ерунды оказалось довольно много, пришлось повозиться.

Для фанатов олдскул симплы Simpla 2.3.8 php7 mysql 5.7 ready
 
Последнее редактирование:

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Так мне в конфиге /config/config.ini удалить строку
locale = en_US.utf8; ?
Или на хостинге сказать, чтоб включили это
C.UTF-8
en_US.utf8
fr_FR.utf8
POSIX
Как правильно сделать?

На виртуальном хостинге ты ничего не сможешь включить. На своем VPS или круче ты можешь инсталлировать любую локаль и тогда ее можно будет выбрать в config.ini

Для начала просто поставь
locale = en_US.utf8;

остальные строчки php_locale......... убери.

Такая локаль стандартная и стоит везде, ее лучше всего использовать. Если она у тебя стоит в системе - ошибка пропадет.

P.S. В общем и с этой ошибкой все ок в части импорта. Там было другое хитрое место, где локаль играла важную роль. Кажется в sprintf() или mb_substring() не помню точно где это вылезало.
 

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Строку locale = en_US.utf8; добавить в config.ini?
Если базу данных из Simpla 2.3.8 php7 mysql 5.7 ready запросом закинуть в свою базу данных, то значения таблиц с дата 0000-00-00, обновятся?

Да.
В Simpla 2.3.8 php7 mysql 5.7 ready конфиг уже исправлен как надо.

Если так сделать, полностью очистится база, но все проблемы, которые я там отыскал устранятся.

Чтобы не потерять данные можно сделать бекап внутри админки, потом прогнать simpla.sql из моей сборки Simpla 2.3.8 php7 mysql 5.7 ready, а потом сделать восстановление бекапа. Там бекап структуру данных не изменяет, только сами данные загружает. Бекап стоит проверить на работоспособность перед манипуляциями.


Эта версия 2.3.8 просто привет из прошлого.

Всем интересующимся добро пожаловать тестировать или разрабатывать рапиду, в ближайшие дни я выложу очередную рабочую версию, на которой уже запущен наш магазин. Но это только начало пути.
 
Последнее редактирование:

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Строка locale = en_US.utf8; в config.ini ничего не изменила, красная полоса осталась.
такой локали значит у тебя нет в системе. Поставь такую, которая есть. Список можно получить в техподдержке или самостоятельно через терминал.

Код:
locale -a
 

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Очередная Rapida версия 0.0.9b3
## =================
## v0.0.9b3 01.04.2018
## =================
### bugs:
- В связи с использованием новых возможностей php7 отвалилась поддержка более ранних версий. Восстановлено.
- Мелкие недостатки синтаксиса, препятствующие запуску на php5.6.
- Ошибка в методе get_uri(), который получал адресную строку из массива $_SERVER
- Изменено название метода cart->emty_cart()
- Отремонтирован класс feedback для обратной связи
- Создание купона в админке теперь работает
- Не работало изменение параметров товаров со страницы списка товаров админки.
- В админке исправлено отображение миниатюр у товаров без изображения.
- Ошибки в методе gen_uri(), который используется для генерации ЧПУ ссылок.
- Ошибка в контроллере записей в блог в админке postAdmin.php
- Ошибка в механизме добавления категорий товару в админке.
- Адрес изображения для уведомления покупателя изменен с относительного на абсолютный.

### features:
### improvements:
- В таблицу s_products добавлено поле stock, которое обновляется при обновлении вариантов. Теперь товары не на складе выводятся в последнюю очередь.
Методы update_variant(), add_variant(), get_products(), count_products() соответствующим образом доработаны.
- Логика подсчета страниц пагинации перенесена из шаблона в контроллер productsView.php, что упрощает код в шаблоне.


Наконец-то добрался до опытной эксплуатации. Сейчас буду переключать DNS на сервер с Рапидой.
 

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Посмотреть как это работает можно у нас на сайте по продаже освещения Для просмотра ссылки Войди или Зарегистрируйся
 

shake1

Хранитель порядка
Регистрация
16 Янв 2013
Сообщения
534
Реакции
605
Смело решили скрыть фильтры на (max-width: 1024px), сам блок остался кликабельным, спросоня тыкал на планшете, думал не разворачивается спойлер с фильтрами
 

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Смело решили скрыть фильтры на (max-width: 1024px), сам блок остался кликабельным, спросоня тыкал на планшете, думал не разворачивается спойлер с фильтрами

Шаблон - самое слабое место сейчас. Буду потихоньку делать юзабилити.
 

Leonid794

Постоялец
Регистрация
25 Июл 2011
Сообщения
59
Реакции
1
Error performing query '/* Create table s_options_uniq */ CREATE TABLE `s_options_uniq` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `val` varchar(512) DEFAULT '', `trans` varchar(512) CHARACTER SET ascii DEFAULT '', `trans2` varchar(512) CHARACTER SET ascii NOT NULL DEFAULT '', `md4` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', `md42` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', PRIMARY KEY (`id`), UNIQUE KEY `md4_id` (`md4`,`id`) USING BTREE, UNIQUE KEY `val` (`val`), KEY `md42` (`md42`,`md4`,`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; ': Specified key was too long; max key length is 767 bytes

Error performing query '/* Data for table s_options_uniq */ INSERT INTO `s_options_uniq` (`id`,`val`,`trans`,`trans2`,`md4`,`md42`) VALUES (1, 'тестовое свойство значение', 'testovoe_svoystvo_znachenie', '', 0xd7a69c6c95248d1977a14441790f81dd, 0x00000000000000000000000000000000); ': Table 'cable_spark.s_options_uniq' doesn't exist

Выдает ошибку при установке

Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in W:\domains\localhost\api\Simpla.php on line 277 - а это после установки
 
Последнее редактирование модератором:

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Error performing query '/* Create table s_options_uniq */ CREATE TABLE `s_options_uniq` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `val` varchar(512) DEFAULT '', `trans` varchar(512) CHARACTER SET ascii DEFAULT '', `trans2` varchar(512) CHARACTER SET ascii NOT NULL DEFAULT '', `md4` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', `md42` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', PRIMARY KEY (`id`), UNIQUE KEY `md4_id` (`md4`,`id`) USING BTREE, UNIQUE KEY `val` (`val`), KEY `md42` (`md42`,`md4`,`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; ': Specified key was too long; max key length is 767 bytes

Error performing query '/* Data for table s_options_uniq */ INSERT INTO `s_options_uniq` (`id`,`val`,`trans`,`trans2`,`md4`,`md42`) VALUES (1, 'тестовое свойство значение', 'testovoe_svoystvo_znachenie', '', 0xd7a69c6c95248d1977a14441790f81dd, 0x00000000000000000000000000000000); ': Table 'cable_spark.s_options_uniq' doesn't exist

Выдает ошибку при установке

Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in W:\domains\localhost\api\Simpla.php on line 277 - а это после установки


Это старый мускул, в версии кажется в 5.7 ключ может быть длиннее. Можно укоротить ключ varchar(512) , можно поставить свежий мускул.
 
Сверху