Перейти к содержанию
Новая Simpla

Рекомендуемые сообщения

Более новые версии Новая Simpla будут идти с приставкой admin.

Это значит, что классы движка на бэке(админка) и на фронте работают независимо друг от друга.

Так надо было сделать изначально самой simpla, но они этого не сделали.

Это очень удобно, когда вы хотите создать хороший многофункциональный магазин, в котором много по фильтрам запросов к БД, который приходится вешать и на фронт и на бэк одновременно. Кроме этого Вы имеете возможность вести работы по модернизации движка, не затрагивая сразу обе части движка, фронт и бэк.

Таким образом вам проще находить ошибки в движке, строить загрузчики для админки, подключать при необходимости разные БД. Все это в итоге будет повышать скорость движка, которая необходима там, где большие БД и много товаров.

Исправлено загрузка xml, для загрузки прайсов вам уже нет необходимости устанавливать на сервер консоль ru_RU.UTF-8. Будет работать на стандартной en_US.UTF-8.

Кому надо обновить импорт xml, скопируйте отсюда:

simpla/ajax/import.php

require_once('../../admin/Admin.php'); на require_once('../../api/Simpla.php');

class ImportAjax extends Admin; на  class ImportAjax extends Simpla

Измените в них:

require_once('admin/Admin.php'); на require_once('api/Simpla.php');

class ImportAdmin extends Admin; на class ImportAdmin extends Simpla

Обновлены в последней загрузке версии скриптов шаблона фронта default, jquery до последней версии 3.6.3

new_simpla-b5-php-8.2.1-2-admin.zip

Ссылка на комментарий
Поделиться на другие сайты

При установке, шаг: Задайте логин и пароль администратора сайта.

Warning: Undefined array key "login" in D:\OSPanel\domains\simpla8admin.loc\install.php on line 343
Warning: Undefined array key "password" in D:\OSPanel\domains\simpla8admin.loc\install.php on line 344

PHP 8.1
Так же в simpla.sql лучше все MyISAM заменить на InnoDB. CHARSET указать utf8mb4 вместо utf8mb3 и убрать COLLATE. При импорте sql сам проставит актуальные значения. 

Ссылка на комментарий
Поделиться на другие сайты

Уважаемый сергеевич, да не пишите ему. У него в админке при выборе шаблона Fatal error и еще где-то. Я ему конкретно об этом написал, а он мне в ответ:
 

У вас проблема с подключением к базе данных, скорей всего вы используете старый файл, где функция подключения к БД не переписана.

Данная ошибка не может быть в 165 строке Database.php скрипта, который вы, как говорите , скачали.

Движок скачан отсюда. Я ему конкретно привожу функцию и строку, где ошибка, а он мне в ответ образно выражаясь: "Этого не может быть, потому что этого не может быть, мол проблема у вас, а у нас все хорошо". Движок бадяжный, нормально не работает на линейке 8.1.x

Ссылка на комментарий
Поделиться на другие сайты

48 минут назад, Alex сказал:

Уважаемый сергеевич, да не пишите ему. У него в админке при выборе шаблона Fatal error и еще где-то. Я ему конкретно об этом написал, а он мне в ответ:
 

У вас проблема с подключением к базе данных, скорей всего вы используете старый файл, где функция подключения к БД не переписана.

Данная ошибка не может быть в 165 строке Database.php скрипта, который вы, как говорите , скачали.

Движок скачан отсюда. Я ему конкретно привожу функцию и строку, где ошибка, а он мне в ответ образно выражаясь: "Этого не может быть, потому что этого не может быть, мол проблема у вас, а у нас все хорошо". Движок бадяжный, нормально не работает на линейке 8.1.x

Масса сайтов работает на этом движке, но вы можете не писать)

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, sergeevizh сказал:

При установке, шаг: Задайте логин и пароль администратора сайта.

Warning: Undefined array key "login" in D:\OSPanel\domains\simpla8admin.loc\install.php on line 343
Warning: Undefined array key "password" in D:\OSPanel\domains\simpla8admin.loc\install.php on line 344

PHP 8.1
Так же в simpla.sql лучше все MyISAM заменить на InnoDB. CHARSET указать utf8mb4 вместо utf8mb3 и убрать COLLATE. При импорте sql сам проставит актуальные значения. 

Это не ошибки, а рекомендации, они ни на что не влияют. Инсталятор этот с php 7, не исправлялся под 8-ку на notice. 

Вы можете закоментить в инсталяторе: error_reporting(E_ALL ^ E_NOTICE); Они светится не будут !!

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Alex сказал:

Уважаемый сергеевич, да не пишите ему. У него в админке при выборе шаблона Fatal error и еще где-то. Я ему конкретно об этом написал, а он мне в ответ:
 

У вас проблема с подключением к базе данных, скорей всего вы используете старый файл, где функция подключения к БД не переписана.

Данная ошибка не может быть в 165 строке Database.php скрипта, который вы, как говорите , скачали.

Движок скачан отсюда. Я ему конкретно привожу функцию и строку, где ошибка, а он мне в ответ образно выражаясь: "Этого не может быть, потому что этого не может быть, мол проблема у вас, а у нас все хорошо". Движок бадяжный, нормально не работает на линейке 8.1.x

Я кстати тоже не смог воспроизвести вашу ошибку и в строке 165 Database.php у меня просто закрывающая скобка.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, admin сказал:

Это не ошибки, а рекомендации, они ни на что не влияют. Инсталятор этот с php 7, не исправлялся под 8-ку на notice. 

Вы можете закоментить в инсталяторе: error_reporting(E_ALL ^ E_NOTICE); Они светится не будут !!

Или сделать как везде в шаблонах обернуть в isset()

На счет 

Warning: Undefined variable $tmp in D:\OSPanel\domains\simpla8admin.loc\install.php on line 411

Нужно изменить

    for ($i = 0; $i < 5; $i++) {
        $k = $i + 6;
        $j = $i + 12;
        if ($j == 16) $j = 5;
        $tmp = $bin[$i] . $bin[$k] . $bin[$j] . $tmp;
    }

на

    $tmp = '';
    for ($i = 0; $i < 5; $i++) {
        $k = $i + 6;
        $j = $i + 12;
        if ($j == 16) $j = 5;
        $tmp = $bin[$i] . $bin[$k] . $bin[$j] . $tmp;
    }

и удалить проверку лицензии function check_license($license) {...}

поправить function unzip() {...} убрать pclzipdefines();

почистить от устаревших функций

Ссылка на комментарий
Поделиться на другие сайты

На странице слайдеров /simpla/index.php?module=SliderAdmin

Fatal error: Uncaught Error: Class "Simpla" not found in D:\OpenServer\domains_tests\simpla8admin.loc\simpla\SliderAdmin.php:19 Stack trace: #0 D:\OpenServer\domains_tests\simpla8admin.loc\simpla\IndexAdmin.php(100): require_once() #1 D:\OpenServer\domains_tests\simpla8admin.loc\simpla\index.php(36): IndexAdmin->__construct() #2 {main} thrown in D:\OpenServer\domains_tests\simpla8admin.loc\simpla\SliderAdmin.php on line 19

Нужно в simpla\SliderAdmin.php в строке 19

class SliderAdmin extends Simpla
{

заменить на 

class SliderAdmin extends Admin
{

 

Ссылка на комментарий
Поделиться на другие сайты

На главной 

Warning: Undefined array key "lang" in D:\OpenServer\domains_tests\simpla8admin.loc\view\IndexView.php on line 64
Warning: Undefined array key "googtrans" in D:\OpenServer\domains_tests\simpla8admin.loc\view\IndexView.php on line 127
Ссылка на комментарий
Поделиться на другие сайты

47 минут назад, sergeevizh сказал:

на странцие simpla/index.php?module=PaymentMethodAdmin Добавления способа оплаты
Не работает выбор метода, все методы вылезли на страницу

Это так работает на simpla. Вы же не выбираете способ оплаты, а создаете его.

Для чего simpla вывела все это, даже не знаю.

Можете об этом почитать у самой симплы, т.к. там ничего не переделывалось и там все есть так, как сделала сама simpla.

Способы оплаты тоже не проверялись,т.к. проще написать модуль под конкретный метод оплаты, который нужен. 

Оплата есть такой, какой ее нам оставила simpla еще в те годы.

Думаю, кому надо, тот сделает под себя, как собственно это и раньше было)

Ссылка на комментарий
Поделиться на другие сайты

Ну и раз разнесли фронт и бек.

То и модели бека лучше перенести в папку /simpla/, контроллеры тоже вынести в отдельную папку и получить дерево:

/simpla/

/simpla/ajax/

/simpla/cml/

/simpla/controller/

/simpla/design/

/simpla/files/

/simpla/model/

/simpla/pclzip/

/simpla/rest/

/simpla/update/

/simpla/.htaccess

/simpla/.passwd

/simpla/.index.php

Папку /api/ разнести на модели фронта и настройки 

Папку /view/ переименовать в controller, так как view это design

Отказаться от генерации капчи средствами PHP

Smarty/PHPMailer/MobileDetect/PCLZip через Composer

Ну в общем, привести все к нормальному MVC 😃 и тогда будет пушка

Изменено пользователем sergeevizh
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, admin сказал:

Это так работает на simpla. Вы же не выбираете способ оплаты, а создаете его.

Для чего simpla вывела все это, даже не знаю.

Можете об этом почитать у самой симплы, т.к. там ничего не переделывалось и там все есть так, как сделала сама simpla.

Способы оплаты тоже не проверялись,т.к. проще написать модуль под конкретный метод оплаты, который нужен. 

Оплата есть такой, какой ее нам оставила simpla еще в те годы.

Думаю, кому надо, тот сделает под себя, как собственно это и раньше было)

Вы не правы, ваши isset() если убрать и поправить генерацию select то выбор способа оплаты будет нормальным. 

 image.thumb.png.6565a8d3a31718fbf79cc779534c32ff.png

Стандартный вывод выбора способа оплаты на чистой SimplaCMS

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, sergeevizh сказал:

Ну и раз разнесли фронт и бек.

То и модели бека лучше перенести в папку /simpla/, контроллеры тоже вынести в отдельную папку и получить дерево:

/simpla/

/simpla/ajax/

/simpla/cml/

/simpla/controller/

/simpla/design/

/simpla/files/

/simpla/model/

/simpla/pclzip/

/simpla/rest/

/simpla/update/

/simpla/.htaccess

/simpla/.passwd

/simpla/.index.php

Папку /api/ разнести на модели фронта и настройки 

Папку /view/ переименовать в conroller, так как view это design

Отказаться от генерации капчи средствами PHP

Smarty/PHPMailer/MobileDetect/PCLZip через Composer

Ну в общем, привести все к нормальному MVC 😃 и тогда будет пушка

А зачем? Много работы и будет больше ошибок, а реально это ничего не даст. Есть в админке подключение капчи гугл, кому надо, какие проблемы.

В остальном пока нет особого смысла для того, чтобы сделать необходимый сайт. Этот проект не столько развитие simpla, сколько ее реанимация, 

т.к. для сайта-пушки надо просто писать новый движок на фреймворке.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, sergeevizh сказал:

Вы не правы, ваши isset() если убрать и поправить генерацию select то выбор способа оплаты будет нормальным. 

 image.thumb.png.6565a8d3a31718fbf79cc779534c32ff.png

Стандартный вывод выбора способа оплаты на чистой SimplaCMS

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

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, admin сказал:

А зачем? Много работы и будет больше ошибок, а реально это ничего не даст. Есть в админке подключение капчи гугл, кому надо, какие проблемы.

В остальном пока нет особого смысла для того, чтобы сделать необходимый сайт. Этот проект не столько развитие simpla, сколько ее реанимация, 

т.к. для сайта-пушки надо просто писать новый движок на фреймворке.

Очень жаль, что не умеете прислушиваться. 

Буду следить дальше.

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, sergeevizh сказал:

Очень жаль, что не умеете прислушиваться. 

Буду следить дальше.

Просто нет времени бесплатно этим заниматься) Для себя я решаю все необходимые вопросы по мере их поступления) 

Вообще это больше для тех, кто сам кому делает магазин и может доделать то, что недоделано)

Ссылка на комментарий
Поделиться на другие сайты

Еще замечу, что в каталоге, фильтр не работает, ошибка 

Uncaught TypeError: Cannot read properties of undefined (reading 'count')
    at Object.success (filter.min.js:1262:68)
    at options.success (filter.min.js:170:26)
    at j (jquery.min.js:2:26860)
    at Object.fireWith [as resolveWith] (jquery.min.js:2:27673)
    at x (jquery.min.js:4:11120)
    at XMLHttpRequest.<anonymous> (jquery.min.js:4:14767)

 

Ссылка на комментарий
Поделиться на другие сайты

Фильтр цен не проверяет диапазон цен.

Если в фильтре цен указать диапазон от 1000₽ до 2000₽, а после изменить значение первого диапазона в адресной строке, то получим ошибку.

Ссылка на комментарий
Поделиться на другие сайты

12 часов назад, sergeevizh сказал:

Фильтр цен не проверяет диапазон цен.

Если в фильтре цен указать диапазон от 1000₽ до 2000₽, а после изменить значение первого диапазона в адресной строке, то получим ошибку.

Да вроде нет такого. Посмотрите на демке, может я что-то не понял?

https://kievukr.pp.ua/catalog/mobilnye-telefony?cid=&keyword=&min_price=7809руб&max_price=34290руб

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, sergeevizh сказал:

Еще замечу, что в каталоге, фильтр не работает, ошибка 

Uncaught TypeError: Cannot read properties of undefined (reading 'count')
    at Object.success (filter.min.js:1262:68)
    at options.success (filter.min.js:170:26)
    at j (jquery.min.js:2:26860)
    at Object.fireWith [as resolveWith] (jquery.min.js:2:27673)
    at x (jquery.min.js:4:11120)
    at XMLHttpRequest.<anonymous> (jquery.min.js:4:14767)

 

Да вроде все работает, демку вам кинул. Архив с нее сформирован.

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, admin сказал:

Да вроде все работает, демку вам кинул. Архив с нее сформирован.

Данная ошибка в PHP8.1 и Smarty4 из-за пустого ключа. У вас же я так понимаю, вывод ошибок выключен и ключи проверяются через isset();

На счет https://kievukr.pp.ua/catalog/mobilnye-telefony?cid=&keyword=&min_price=7809руб&max_price=34290руб

измените сумму 7809 на 7899999999909 будет ошибка, что товаров нет. А должна быть проверка на диапазон и редиректить на допустимые значения или вообще сбрасывать диапазон.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, sergeevizh сказал:

Данная ошибка в PHP8.1 и Smarty4 из-за пустого ключа. У вас же я так понимаю, вывод ошибок выключен и ключи проверяются через isset();

На счет https://kievukr.pp.ua/catalog/mobilnye-telefony?cid=&keyword=&min_price=7809руб&max_price=34290руб

измените сумму 7809 на 7899999999909 будет ошибка, что товаров нет. А должна быть проверка на диапазон и редиректить на допустимые значения или вообще сбрасывать диапазон.

Нет, на демке обязательно включ показ ошибок и на фронте, и на беке.

Я не вижу смысла в такой проверке, лишний код скрипта, что плохо.

Диапазон регулируется автоматически согласно цен выведенных товаров. Он не может показать неправильный вариант из панели управления фильтрами.

Ну а если править гет запрос, а кому это вообще надо, то логично он получит, что в этом диапазоне нет товаров.

Тоже самое он получает и когда нет товаров)

Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, sergeevizh сказал:

Вы не правы, ваши isset() если убрать и поправить генерацию select то выбор способа оплаты будет нормальным. 

 image.thumb.png.6565a8d3a31718fbf79cc779534c32ff.png

Стандартный вывод выбора способа оплаты на чистой SimplaCMS

 

<div id="product_categories">
        <select name="module">
            <option value='null'>Ручная обработка</option>
               {foreach $payment_modules as $payment_module}
                <option value='{$payment_module@key|escape}' {if !empty($payment_method->module) && $payment_method->module == $payment_module@key}selected{/if} >{if isset($payment_module->name)}{$payment_module->name|escape}{/if}</option>
            {/foreach}
        </select>
</div>

 

{foreach $payment_modules as $payment_module}
            <div class="block layer" {if empty($payment_method->module)}style='display:none;'{/if} id=module_settings module='{$payment_module@key}'>
            <h2>{$payment_module->name}</h2>
            {* Параметры модуля оплаты *}

Сделать замены для файла payment_method.tpl.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...