star
-
Публикаций
56 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные star
-
-
Что стоит закрыть ее? RegisterView -- сделайте проверку и делайте редирект на кабинет
Тут проверяется, что пользователя нет и делается редирект https://github.com/pikusov/Simpla/blob/master/view/UserView.php#L21
СДелайте также, но наоборот
Так в RegisterView вроде работает
if($this->user) { header('Location: '.$this->config->root_url.'/user'); exit(); }
-
Столкнулся с такой ситуацией. Если пользователь зарегистрировался и авторизовался ему по прежнему доступна страница регистрации например здесь http://demo.simplacms.ru/user/register , для какой интересно цели? Возможно логичнее будет скрыть форму и показать личный кабинет. Как правильно это сделать.
-
{if $module == 'UserView'} ... {/if}
Спасибо Noxter
-
if $page && $page->url == "" Вот это в Смарти определение Главной
Добрый день. Для главной страницы условие прекрасно работает, но как
сделать условие если блок нужно скрыть на странице личного кабинета.
Например на этой demo.simplacms.ru/user
-
<input placeholder="Мобильный в международном формате" type="text" name="phone" id="phone" title="Мобильный телефон" value="{$phone|escape}" >
Делалось по инструкции из поста #1
Если пользователь пишет номер как +7 то смс приходит, а вот если 7 или 8 то нет. С чем может быть связано? Тех. поддержка sms.ru пишет что должно работать с номером в любом формате.
-
В шаблоне имеется поле input для ввода емейла но pattern не работает, ошибка Smarty Compiler: Syntax error Unexpected ","
<input placeholder="Емайл подлежит объязательной проверке" type="email" name="email" pattern="([A-z0-9_.-]{1,})@([A-z0-9_.-]{1,}).([A-z]{2,8})" title="Email" value="{$email|escape}"<>
Как исправить?
-
<body> {if $smarty.session.admin == 'admin' || $user} Тут код страницы {else} {include file='register.tpl'} {/if} </body>
Работать не будет, обрабатывать register.tpl некому
RewriteRule ^user/register/?$ index.php?module=RegisterView [L,QSA]
-
Ну для начала нужно определиться, если вы хотите скрыть весь {$content} то как юзер будет попадать на страницу авторизации.
Самое конечно простое для вас перенести авторизацию на главную страницу или во всплывающее окно.
а на сам контент поставить условие
{if $user} тут содержимое показывается пользователю авторизованному. {/if}
Нужно если не авторизован показывать сразу страницу регистрации
-
Во view/View.php сделать проверку на существование пользователя, если нет то сделать редирект на страницу регистрации.
Как по мне то самое простое решение
Проверку на существование пользователя сделать можно но с редиректом из view/View.php ничего не получится.
Пока как вариант сделал проверку в отдельном файле и далее скрипт в нужные страницы.
jQuery(document).ready(function(){ setInterval(function(){ $.ajax({ url: '/ajax/check_user.php', success: function(response){ if (response.error) location.href='/user/login'; } }) },0); })
Вышло немного топорно, т.к. визуально виден на секунду и контент который необходимо скрыть и сам редирект ((
-
Добрый день. Подскажите как правильно сделать чтобы пользователь при посещении сайта и просмотре контента ($content) сначало зарегистрировался и авторизовался. Шаблон дефолтный.
-
Примерно так:
<div id="product-variants" class="select" {if $product->variants|count<2 && !$product->variant->name}style="display:none"{/if}> <select id="product-selectors" name="variant"> {$vnames=array()} {foreach $product->variants as $v} {if !in_array($v->name,$vnames)} {$vnames[]=$v->name} <option {if $v@first}selected="selected"{/if} value="{$v->id}" data-price="{$v->price|convert} {$currency->sign}">размер - {$v->name}</option> {/if} {/foreach} </select> </div>
Спасибо. Все отлично работает. Подскажите еще как добавить к этому
селекту сортировку по числам, в порядке возрастания или убывания?
-
Прошу помощи в таком вопросе. Есть код который выводит в селекте наименование варианта товара.
Если несколько названий варианта одинаковые, то как показать только первый вариант или с наименьшей ценой
Например: названия вариантов 15 16 17 18 18 18 19, а нужно выводить 15 16 17 18 19
<div id="product-variants" class="select" {if $product->variants|count<2 && !$product->variant->name}style="display:none"{/if}> <select id="product-selectors" name="variant"> {foreach $product->variants as $v} <option {if $v@first}selected="selected"{/if} value="{$v->id}" data-price="{$v->price|convert} {$currency->sign}">размер - {$v->name}</option> {/foreach} </select> </div>
-
Если в строке поиска оставить запрос пустым то выведет ВСЕ товары http://demo.simplacms.ru/products?keyword=, как подсказать пользователю задать параметры поиска или игнорировать пустые запросы?
-
Изменять скрипт поиска. Не особо сложно, но повозиться надо...
даже возиться не пришлось
в файле поиска ajax/search_products.php ищем стороку
$keyword = $simpla->request->get('query', 'string');
меняем её на
function translit($k) { $k = (string) $k; // преобразуем в строковое значение $k = str_replace(array("\n", "\r"), " ", $k); // убираем перевод каретки $k = trim($k); // убираем пробелы в начале и конце строки $k = strtr($k, array('A'=>'А','a'=>'А','B'=>'В','C'=>'С','c'=>'С','E'=>'Е','e'=>'Е','H'=>'Н','K'=>'К','k'=>'К','M'=>'М','O'=>'О','o'=>'О','P'=>'Р','p'=>'Р','T'=>'Т','t'=>'Т')); // меняем латинские буквы => на кирилицу return $k; // возвращаем результат } $keyword = $simpla->request->get('query'); $keyword = translit(preg_replace('/[^\p{L}\p{Nd}\d\s_\-\.\%\s\/]/ui', '', $keyword));
поиск по артикулу вне зависимости от раскладки клавиатуры работает.
Нюансы конечно есть - правильнее будет организовать запрос в базу транслитом только по артикулам. Возможно еще что-то пропустил, но это лучше чем ничего)
-
На сайте работает поиск по артикулу. Большинство артикулов заносились в админке в кирилической раскладке клавиатуры, например ищем на сайте артикул Т1000 или т1000 и товар находится а если в латинской T1000 или t1000 то нет. Как поправить чтобы искало и при запросе артикула с латинскими буквами идентичными внешне с кириллическими
-
Вот в этом и вопрос. Где и как менять(скорее всего добавить выборку из базы) чтобы вывести артикул вне зависимости от количества на складе. Нужен элементарный вывод артикула а API категорически к этому не приспособлено. ((
-
отключив фильтр по складу, 'in_stock'=>true на 'in_stock'=>false в view/ProductView.php и view/ProductsView.php вернется и цена и отсутствующие варианты а также кнопка купить с невозможностью положить товар в корзину.
Мне нужен вывод артикула по id товара вне зависимости есть товар в наличии или нет, главное условие товар есть в базе у него есть id и он активен
-
-
не работает, надо в api/Products.php и возможно api/Variants.php править
или добавить новую переменную и делать выборку артикула из базы по ID? но тогда правки не в одном двух файлах
-
Имеем категорию товаров, все товары называются одинаково, различаются вариантами и ценой ну и фотографиями, у каждого товара обязательно есть артикул. Рассмотрим ситуацию когда товара на складе нет, то есть 0
Пропадает цена, вариант, артикул и кнопка купить вместо этого надпись нет в наличии, под заказ.
Клиенту интернет магазина приходится по фотографии давать описание того что он хочет заказать или оператору просить клиента скинуть фотку по вацап
Как вывести артикул(тогда понятно будет о каком товаре речь) если количество товара 0 и появляется надпись под заказ.
-
может лучше поставить куки при открытии кнопки обратный вызов, а при отправке сообщения менять значение куки и сделать проверку. Стандартная работа браузера при этом не будет отсылать форму повторно при обновлении страницы
-
Это стандартная работа браузера. Если не нравится, то можно в обработчике формы добавить перезагрузку страницы подобно тому, как сделано в ProductView.php при приеме комментария.
В ProductView.php перезагрузка страницы как я понимаю здесь.
// Приберем сохраненную капчу, иначе можно отключить загрузку рисунков и постить старую unset($_SESSION['captcha_code']); header('location: '.$_SERVER['REQUEST_URI'].'#comment_'.$comment_id);
и чем это поможет если не секрет
-
Если сделать заказ обратный звонок и перезагрузить страницу отправка формы повторится(( Может ошибка где нибудь в коде?
-
Делаю экспорт в демо версии на сайте, если варианты цельное число или с запятой то экспорт без ошибок. Когда вариант с точкой или слешем, например 17.5 или 17/3 то после экспорта число после знака преобразуется в месяц. Как поправить или только в Excel править ?
Страница регистрации если уже авторизован
в Общие вопросы по функционалу и дизайну
Опубликовано
Работает. В RegisterView.php сразу после
вставляем
Стандартно конечно такого нет