
sergeevizh
-
Content Count
384 -
Joined
Posts posted by sergeevizh
-
-
http авторизация:
+ она закрывает всю бекенд директорию от лишних запросов
+ исходя их первого уменьшается необходимость жестко контролировать объекты бекенда
+ безопасность на хорошем уровне
- данные об менеджере ограничены и проблемно связываются с остальной базой данных
- при попадании в админ-часть, даже с минимальными правами, нам становятся доступны запросы на сторонние объекты (у которых может быть неконтролируемый функционал)
бд авторизация:
+ данные менеджера легко расширяются и связываются с другими данными
- необходимость жестких мер по закрытию доступа к скриптам бекенда. То есть нужно контролировать авторизацию в каждом файле что способен выполниться в бекенде (различные файл менеджеры и прочее)
+- уровень безопасности зависит от пункта выше
способ авторизации зависит в первую очередь о целей для которых эта авторизация делается. Если она несет чисто доступный функционал - вполне достаточно http.
Автору темы:
при создании изменении менеджера - создавайте изменяйте обычного пользователя. Связь пользователь=менеджер сделайте через запись ида пользователя в .passwd
Подводные камни будут, но в любом случае их будет меньше чем переделывать всю авторизацию менеджера
Спасибо за рекомендацию (попробую), сейчас делаю локально и проверяю пока с ролями (1.2.3)
В административной панели проверяю на доступ по цифре в строке базы role
Прямого доступа к site.com/simpla нет, чтобы убрать её из robots.txt и при определении возможности доступа к административной части на главной странице сайта появляется ссылка "АдминПанель"
-
Авторы систем также морально устарели как и ты.
Ты не идёшь в ногу со временем, тебе достаточно строчить "код" в notepad++...
P.S. Старый запорожец уже и не сыскать, но он есть и даже едет.
Артём, объясните. Чем нынешняя авторизация админа лучше, чем сделать ее как у пользователя.
-
Для этого надо переделать всю схему авторизации админа - по образцу авторизации пользователя. Довольно хлопотно. А вообще по-хорошему это должно быть стандартно...
Я так понимаю нужно сделать роли, по типу групп - администратор, менеджеры и пользователи.
В базе у пользователя сделать role (1) админ, (2) менеджер, (3) пользователь. Пользователь при регистрации получает (3). Менеджера назначает администратор. Админ получает либо при установке, либо ручками в базе. В админ панели управляем ролями с доступом.
Далее делать проверку сессии по номеру роли, если 1 и 2 допускаем к админ.панели.
-
Никак не могу разобраться, как при нынешней авторизации администратора (site.com/simpla), сделать, чтобы авторизация проходила как у обычного пользователя с главной страницы сайта?
-
Готового решения видимо нет.
Но такое решение было логично сделать не только при оплате Яндекс.Кассой, а вообще из коробки при применении купона на сайте, чтобы менялись {$cart->total_price|convert} и {($purchase->variant->price*$purchase->amount)|convert} корзины. Видимо как-то нужно реализовать это в api/Cart.php
Если брать за основу пример из одной стать, допустим
В корзине 3 товара
1. 2827 руб ( {($purchase->variant->price*$purchase->amount)|convert} )
2. 1365 руб ( {($purchase->variant->price*$purchase->amount)|convert} )3. 1538 руб ( {($purchase->variant->price*$purchase->amount)|convert} )Итого 5730 руб ( {$cart->total_price|convert} )Скидка 300 рубПервое, что нам нужно узнать, это долю товара в итоговой сумме1. 2827*100%/5730 = 0.49 %2. 1365*100%/5730 = 0.24 %3. 1538*100%/5730 = 0.27 %Второе узнать сумму скидки каждого товара1. 300*0,49 = 148 руб2. 300*0,24 = 71 руб3. 300*0,27 = 81 рубТретье вычесть сумму пропорциональной скидки из каждого товара1. 2827-148 = 2679 руб ( {($purchase->variant->price*$purchase->amount)|convert} )2. 1365-71 = 1294 руб ( {($purchase->variant->price*$purchase->amount)|convert} )3. 1538-81 = 1457 руб ( {($purchase->variant->price*$purchase->amount)|convert} )Итого после применения скидки 300 руб и пропорционально ее распределили5430 руб ( {$cart->total_price|convert} ) -
После перехода с http на https перестал работать скрипт автозаполнение поиска.
Сам поиск работает, но при вводе в поиске наименования товара, перестал выпадать список с товаром.
Подскажите пожалуйста, куда обратить внимание?
Смотрите в консоль браузера на ошибки
А так, видимо в htaccess не правильно прописано перенаправление
-
я может не правильно выразился...я имею ввиду пути вместо http на https изменил
нашел ошибку с корзиной...но поиск так и не работает
Пришлите ссылку на сайт в личные сообщения, посмотрю
-
смотрите консоль в браузере, там 100% увидите ошибки
еще, в шаблоне менять ссылки не следовало
пишите ссылку на сайт
-
Вроде нашел решение, но что-то не работает
https://codepen.io/vpolovnyov/pen/jeYZLg
class Menu { constructor(el) { this.el = el this.el.addEventListener('click', this.handleClick.bind(this)) window.addEventListener('resize', this.scrollToActiveItem.bind(this)) this.scrollToActiveItem() } get activeEl() { return this.el.querySelector('.is__active') } handleClick(e) { e.preventDefault() this.el.querySelector('.is__active') .classList .remove('is__active') e.target.parentNode .classList .add('is__active') this.scrollToActiveItem() } scrollToActiveItem() { if (!this.activeEl) return const scrollParent = this.el.parentNode const scrollParentWidth = scrollParent.clientWidth const activeElWidth = this.activeEl.clientWidth const activeElLeftOffset = this.activeEl.offsetLeft const isActiveElInvisible = activeElLeftOffset + activeElWidth > scrollParentWidth if (isActiveElInvisible) { scrollParent.scrollLeft = activeElLeftOffset - (scrollParentWidth / 2) + (activeElWidth / 2) } else { scrollParent.scrollLeft = 0 } } } new Menu(document.querySelector('.menu'))
Меню становится не кликабельным
<aside class="aside"> <div class="menu"> <div class="menu-list__track"> {* Рекурсивная функция вывода дерева категорий *} {function name=categories_tree} {if $categories} {foreach $categories as $c} {* Показываем только видимые категории *} {if $c->visible} <a class="category-nav__item {if $category->id == $c->id}is__active{/if}" href="catalog/{$c->url}" data-category="{$c->id}"> {if $c->image} <div class="category-nav__icon"> <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}"> </div> {/if} {$c->name|escape} </a> {categories_tree categories=$c->subcategories} {/if} {/foreach} {/if} {/function} {categories_tree categories=$categories} </div> <!-- /.category-list__track --> </div> <!-- /.category-list --> </aside> <!-- /.aside -->
-
На форуме Okay Вам не помогли, и Вы решили тут написать (правильно: один хрен система одна и та же)
Покажите сайт, где это нужно сделать
Причём тут система? И сайт показывать не нужно. Написал там где сижу и сидят верстальщики.
Вопрос не к функционалу, а к тем кто занимается версткой и знает JavaScript.
-
Адаптивный шаблон в мобильной версии, имеет горизонтальное меню категорий закрепленное в нижней части экрана. Знаю, что нужно рассчитать ширину от начала пункта меню и от конца до краев экрана.
Как сделать, чтобы текущий пункт меню всегда оказывался по центру?
-
очень просто. К примеру
for($i = 1; $i <= 5; $i++) { $num .= rand(0, 9); } $url = 'x'$num;
результатом буде $url =x00000 где 0 - рандомная цифра от 0 до 9
изменить $url в ProductAdmin.php
можно использовать md5 и обрезать лишнее
Привет!
Спасибо за вариант, я решил вопрос иначе
Заменил в simpla/ProductAdmin.php
$product->url = trim($this->request->post('url', 'string'));
на
$product->url = uniqid('') . substr(md5(time()), 0, 11); //генерация url товара
Так же убрал транслит url и само поле url из шаблона.
Теперь не могу понять, при каждом редактировании товара меняется и url.
Как сделать проверку, если в базе поле url заполнено тогда оставить, если нет сгенерировать.
-
Привет!
Никак не могу понять, каким образом формируются такие url страницы товара:
webshop.ru/products/5d27e2e28b2c370101cf06c9
webshop.ru/products/5d7db6b428fc710101b62057
Значение 5d27e2e28b2c370101cf06c9 - имеет 24 символа. То есть это не md5 против 32 символов
Первоначальное значение 5d статичное или меняется на 5a, 5b, 5c, 5d, 5e
Я так понимаю это не просто id, а возможно hash_id
Подскажите как такое реализовать и как хранить в БД
-
Значит у вас что-то с базой, так как новое описание не переписалось.Так дело в том что я это сразу сделал)
Тут 2 решения
1. Дать доступ в FTP, чтобы вам решили проблему
2. Проверить правильно ли записалось новое описание страницы, если нет, проверять почему
-
а где ее менять?
В административной панели, перейдите в раздел страницы, там найдите страницу «О магазине». Перейдите к редактированию этой страницы и отредактируйте «текст страницы»
-
Поставьте доллары основной валютой сайта (верхними) и выключите их отображение (лампочку), а у второй валюты (гривны) - включите.
-
Попробуйте
{if $v->compare_price > 0} ( {$v->compare_price|convert} ) {/if}
-
Ну так сделать свойства и фильтр свойств по принципу диапазона стоимости
-
Это не PHP тут сам код Simpla устаревший
-
MySQL 5.7 и выше есть строгий режим записи в базу, не пропускаются данные с пустым значением и значением с нулями. Чтобы это побороть, нужно переписать запросы Simpla к базе
-
У вас странная связка MySQL и PHP
MySQL 10.5 для 7.0 и выше
Попробуйте в файле config/config.php установите директиву db_sql_mode = "NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
-
да!
Так сразу не сказать
Пишите в личные сообщения ссылку и ftp посмотрю
-
Ребята. Сделал всё по инструкции. Единственное что, взял файлы уже готовые. Которые предоставил Ardion.
Всё подобавлял, ввёл ключи от капчи Гугл. При регистрации (проверяю) - очень долгий таймаут и сообщение - неверно введена капча!
в логах:
[Mon Feb 17 15:55:36.286289 2020] [:error] [pid 16263] [client 123.34.112.130:59995] PHP Warning: Query was empty [] in /site/api/Database.php on line 105, referer: https://site/simpla/index.php?module=SettingsAdmin
Я так понял, нужно либо заново ключи перегенерировать, либо что-то где-то добавить, по причине того, что api-ключи не подхватываются сайтом (вроде бы.) но я не уверен. подскажите, кто будет добр )
На странице «Настройка сайта» ключи прописали и сохранили?
-
Как и положено скачивал modifier.date_format.php
Напишите в личные сообщения сайт я посмотрю
[2.*] Marketplace Pack
in Платные модули и услуги
Posted
Мишаня не отвечает, я уже почти год жду.
Есть один му*ак который может за 10.000 в личку предлагать копию, но это совершенно не так. Там от маркетплейс ничего нет.