Перейти к содержанию
Официальный форум поддержки Simpla

star

Пользователь
  • Публикаций

    56
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные star

  1. У Вас после индивидуальных изменений, возможно, и работает. А стандартно в 2.3.8 такого нет...

    Работает. В RegisterView.php сразу после

    class RegisterView extends View
    {
    	function fetch()
    	{
    

    вставляем

    		if($this->user)
    		{
    			header('Location: '.$this->config->root_url.'/user');
    			exit();
    		}
    

     

    У Вас после индивидуальных изменений, возможно, и работает. А стандартно в 2.3.8 такого нет...

    Стандартно конечно такого нет

  2. Что стоит закрыть ее? RegisterView -- сделайте проверку и делайте редирект на кабинет

     

    Тут проверяется, что пользователя нет и делается редирект https://github.com/pikusov/Simpla/blob/master/view/UserView.php#L21

     

    СДелайте также, но наоборот :)

    Так в RegisterView вроде работает

    		if($this->user)
    		{
    			header('Location: '.$this->config->root_url.'/user');
    			exit();
    		}
    
  3. Столкнулся с такой ситуацией. Если пользователь зарегистрировался и авторизовался ему по прежнему доступна страница регистрации например здесь http://demo.simplacms.ru/user/register , для какой интересно цели? Возможно логичнее будет скрыть форму и показать личный кабинет. Как правильно это сделать.

  4. if $page && $page->url == "" Вот это в Смарти определение Главной

    Добрый день. Для главной страницы условие прекрасно работает, но как

    сделать условие если блок нужно скрыть на странице личного кабинета.

    Например на этой demo.simplacms.ru/user

  5. <input placeholder="Мобильный в международном формате" type="text" name="phone" id="phone" title="Мобильный телефон" value="{$phone|escape}" >
    

    Делалось по инструкции из поста #1

    Если пользователь пишет номер как +7 то смс приходит, а вот если 7 или 8 то нет. С чем может быть связано? Тех. поддержка sms.ru пишет что должно работать с номером в любом формате.

  6. В шаблоне имеется поле 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}"<>
    

    Как исправить?

  7.  

    <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]

  8.  

    Ну для начала нужно определиться, если вы хотите скрыть весь {$content} то как юзер будет попадать на страницу авторизации.

     

    Самое конечно простое для вас перенести авторизацию на главную страницу или во всплывающее окно.

     

    а на сам контент поставить условие 

     

     

         {if $user}
    тут содержимое показывается пользователю авторизованному.
    {/if}
     

    Нужно если не авторизован показывать сразу страницу регистрации

  9. Во 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);
        })	
    

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

  10. Добрый день. Подскажите как правильно сделать чтобы пользователь при посещении сайта и просмотре контента ($content) сначало зарегистрировался и авторизовался. Шаблон дефолтный.

  11.  

    Примерно так:

     

    <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>
    

    Спасибо. Все отлично работает. Подскажите еще как добавить к этому

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

  12. Прошу помощи в таком вопросе. Есть код который выводит в селекте наименование варианта товара.

    Если несколько названий варианта одинаковые, то как показать только первый вариант или с наименьшей ценой

    Например: названия вариантов 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>
    

     

  13. Если в строке поиска оставить запрос пустым то выведет ВСЕ товары http://demo.simplacms.ru/products?keyword=, как подсказать пользователю задать параметры поиска или игнорировать пустые запросы?

  14. Изменять скрипт поиска. Не особо сложно, но повозиться надо...

    даже возиться не пришлось

    в файле поиска 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));
    

    поиск по артикулу вне зависимости от раскладки клавиатуры работает.

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

  15. На сайте работает поиск по артикулу. Большинство артикулов заносились в админке в кирилической раскладке клавиатуры, например ищем на сайте артикул Т1000 или т1000 и товар находится а если в латинской T1000 или t1000 то нет. Как поправить чтобы искало и при запросе артикула с латинскими буквами идентичными внешне с кириллическими

  16. Вот в этом и вопрос. Где и как менять(скорее всего добавить выборку из базы) чтобы вывести артикул вне зависимости от количества на складе. Нужен элементарный вывод артикула а API категорически к этому не приспособлено. ((

  17. отключив фильтр по складу, 'in_stock'=>true на 'in_stock'=>false в view/ProductView.php и view/ProductsView.php вернется и цена и отсутствующие варианты а также кнопка купить с невозможностью положить товар в корзину.

    Мне нужен вывод артикула по id товара вне зависимости есть товар в наличии или нет, главное условие товар есть в базе у него есть id и он активен

  18. не работает, надо в api/Products.php и возможно api/Variants.php править :(

    или добавить новую переменную и делать выборку артикула из базы по ID? но тогда правки не в одном двух файлах

  19. Имеем категорию товаров, все товары называются одинаково, различаются вариантами и ценой ну и фотографиями, у каждого товара обязательно есть артикул. Рассмотрим ситуацию когда товара на складе нет, то есть 0

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

    Клиенту интернет магазина приходится по фотографии давать описание того что он хочет заказать или оператору просить клиента скинуть фотку по вацап :D

    Как вывести артикул(тогда понятно будет о каком товаре речь) если количество товара 0 и появляется надпись под заказ.

  20. может лучше поставить куки при открытии кнопки обратный вызов, а при отправке сообщения менять значение куки и сделать проверку. Стандартная работа браузера при этом не будет отсылать форму повторно при обновлении страницы

  21. Это стандартная работа браузера. Если не нравится, то можно в обработчике формы добавить перезагрузку страницы подобно тому, как сделано в ProductView.php при приеме комментария.

    В ProductView.php перезагрузка страницы как я понимаю здесь.

    				// Приберем сохраненную капчу, иначе можно отключить загрузку рисунков и постить старую
    				unset($_SESSION['captcha_code']);
    				header('location: '.$_SERVER['REQUEST_URI'].'#comment_'.$comment_id);
    

    и чем это поможет если не секрет

     

     

  22. Делаю экспорт в демо версии на сайте, если варианты цельное число или с запятой то экспорт без ошибок. Когда вариант с точкой или слешем, например 17.5 или 17/3 то после экспорта число после знака преобразуется в месяц. Как поправить или только в Excel править ?

    post-20642-0-51378100-1505556898_thumb.jpg

    post-20642-0-04550700-1505556927_thumb.jpg

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