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

FIMA

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

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

  • Посещение

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

  1. Всем привет. Стоит капча от гугл http://forum.simplacms.ru/topic/10274-2-recaptcha-api-20-%D0%BA%D0%B0%D0%BF%D1%87%D0%B0-%D0%BE%D1%82-%D0%B3%D1%83%D0%B3%D0%BB/ которая в последнее время стала пропускать около 10 спам комментариев.

    Решил воспользоваться вашим способом по борьбе со спамом, вроде работает, а время покажет.

    Капчу от гугл оставил!

     

    Процесс установки:

     

    view/ProductView.php

    найти

    elseif (empty($comment->text))
                {
                    $this->design->assign('error', 'empty_comment');
                }
     


    заменить на

                
                //антиспам
                elseif ((empty($comment->text))
                OR (!stristr($comment->text, 'http') === FALSE)
                OR (!stristr($comment->text, '.ly') === FALSE)
                OR (!stristr($comment->text, 'SEO') === FALSE)
                OR (!stristr($comment->text, '$$') === FALSE)
                OR (!stristr($comment->text, 'url') === FALSE)
                OR (!stristr($comment->text, '<a') === FALSE)
                OR (!stristr($comment->text, '.com') === FALSE)
                OR (!stristr($comment->text, '.ru') === FALSE)
                OR (!stristr($comment->text, 'forum') === FALSE)
                OR (!stristr($comment->text, 'copy') === FALSE)
                )
                {
                    $this->design->assign('error', 'empty_comment');
                }
                // end антиспам
     


    view/FeedbackView.php

    найти

    elseif(empty($feedback->message))
                    $this->design->assign('error', 'empty_text');
     


    заменить на

            //антиспам
                elseif ((empty($feedback->message))
                OR (!stristr($feedback->message, 'http') === FALSE)
                OR (!stristr($feedback->message, '.ly') === FALSE)
                OR (!stristr($feedback->message, 'SEO') === FALSE)
                OR (!stristr($feedback->message, '$$') === FALSE)
                OR (!stristr($feedback->message, 'url') === FALSE)
                OR (!stristr($feedback->message, '<a') === FALSE)
                OR (!stristr($feedback->message, '.com') === FALSE)
                OR (!stristr($feedback->message, '.ru') === FALSE)
                OR (!stristr($feedback->message, 'forum') === FALSE)
                OR (!stristr($feedback->message, 'copy') === FALSE)
                )
                {
                    $this->design->assign('error', 'empty_comment');
                }
                // end антиспам
     

     

    view/BlogView.php

    найти

    elseif (empty($comment->text))
                {
                    $this->design->assign('error', 'empty_comment');
                }
     


    заменить на

    //антиспам
                elseif ((empty($comment->text))
                OR (!stristr($comment->text, 'http') === FALSE)
                OR (!stristr($comment->text, '.ly') === FALSE)
                OR (!stristr($comment->text, 'SEO') === FALSE)
                OR (!stristr($comment->text, '$$') === FALSE)
                OR (!stristr($comment->text, 'url') === FALSE)
                OR (!stristr($comment->text, '<a') === FALSE)
                OR (!stristr($comment->text, '.com') === FALSE)
                OR (!stristr($comment->text, '.ru') === FALSE)
                OR (!stristr($comment->text, 'forum') === FALSE)
                OR (!stristr($comment->text, 'copy') === FALSE)
                )
                {
                    $this->design->assign('error', 'empty_comment');
                }
                // end антиспам
     


     


     

  2. Всем привет! Наткнулся на интересный сервис интегратор служб доставки Apiship

    Кто что может сказать по данному интегратору?

    У них собрано очень много служб доставки https://apiship.ru/couriers/ , а вот готового решения для SIMPLA CMS нет, и очень жаль.

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

    Кто что думает по этому поводу?

     
  3. Всем примет. Прощу помощи в редактировании файла order_print.tpl

    Я с помощью шпаргалки подкорректировал файл, сделал таблицу для  <div id="customer"> и <div id="purchases">.

    Проблема в том что при открытии страницы заказа order_print.tpl все отображается отлично, а после отправления на печать, таблица исчезает. Почему так, как исправить это?

     
    <!DOCTYPE html>
    {*
    	Печать заказа
    *}
    {$wrapper='' scope=parent}
    <html>
    <head>
    	<base href="{$config->root_url}/"/>
    	<title>Заказ №{$order->id}</title>	
    	{* Метатеги *}
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    	<meta name="description" content="{$meta_description|escape}" />
        <style>
        body {
            width: 1000px;
            height: 1414px;
            /* to centre page on screen*/
            margin-left: auto;
            margin-right: auto;
            //border: 1px solid black;
    
    		font-family: Trebuchet MS, times, arial, sans-serif;		
    		font-size: 16pt;
    		color: black;
    		background-color: white;         
        }
        
        div#header{
        	margin-left: 5px;
        	margin-top: 20px;
        	height: 150px;
        	width: 400px;
        	float: left;
    		
        }
        div#company{
        	margin-right: 5px;
        	margin-top: 20px;
        	height: 150px;
        	width: 300px;
        	float: right;
        	text-align: right;
    		
        }
    
      div#customer table {
        width: 100%; /* Ширина таблицы */
        background: #000; /* Цвет фона таблицы */
        color: #000; /* Цвет текста */
    	font-weight: 600;
        border-spacing: 1px; /* Расстояние между ячейками */
    	
       }
    
       div#customer td {
        background: #fff; /* Цвет фона ячеек */
        padding: 5px; /* Поля вокруг текста */
       }
       
       
       
       
       div#purchases table {
        width: 100%; /* Ширина таблицы */
        background: #000; /* Цвет фона таблицы */
        color: #000; /* Цвет текста */
    	border-spacing: 1px; /* Расстояние между ячейками */
       }
       div#purchases td, div#purchases th {
        background: #fff; /* Цвет фона ячеек */
        padding: 5px; /* Поля вокруг текста */
       }
       
           div#total{
        	float: right;
        	margin-right: 50px;
        	height: 100px;
        	width: 500px;
        	text-align: right;
        }
        div#total table{
        	width: 500px;
        	float: right;
        	border-collapse:collapse
        }
        div#total th
        {
        	font-weight: normal;
        	text-align: left;
        	font-size: 22px;
        	border-top: 1px solid black; 	
        }
        div#total td
        {
        	text-align: right;
        	border-top: 1px solid black; 	
        	font-size: 18px;
        	padding-top: 10px;
        	padding-bottom: 10px;
        	margin: 0;    	
        }
        div#total .total
        {
        	font-size: 30px;
        }
       
       
       
       
     
        </style>	
    </head>
    
    <body _onload="window.print();">
    
    <div id="header">
    	<h2>Заказ покупателя №{$order->id}</h2> 
    	<p>от {$order->date|date}</p>
    	</div>
    
    <div id="company">
    	<h2>{$settings->site_name}</h2>
    	<p>{$config->root_url}</p>
    	</div>
    
    </br>
    <div id="customer">
    	
    	<table>
    		<tr>
    			<td width="200">ФИО получателя</td>
    			<td><strong>{$order->name|escape}</strong></td>
    		</tr>	
    		<tr>
    		     <td width="200">Телефон</td>
    			<td>{$order->phone|escape}</td>
    		</tr>	
    		<tr>
    			<td width="200">Email </td>
    			<td>{$order->email|escape}</td>
    		</tr>	
    		<tr>
    		    <td width="200">Адрес доставки </td>
    			<td>{$order->address|escape}</td>
    		</tr>	
    		<tr>
    		    <td width="200">Комментарий к заказу </td>
    			<td><i>{$order->comment|escape|nl2br}</i></td>
    		</tr>
    	</table>
    	
    	{*
    	{if $order->note}
    	<table>		
    		<tr>
    			<td><h2><i>Примечание менеджера</i></h2><i>{$order->note|escape|nl2br}</i></td>
    		</tr>
    	</table>
    	{/if}
    	*}
    </div>
    
    </br>
    
    <div id="purchases">
    	<table>
    		<tr>
    			<th class="align_right">Товар</th>
    			<th class="align_left">Цена</th>
    			<th class="align_right">Количество</th>
    			<th class="align_right">Всего</th>
    		</tr>
    		{foreach $purchases as $purchase}
    		<tr>
    			<td>
    				<span class=view_purchase>
    					{$purchase->product_name} {$purchase->variant_name} {if $purchase->sku} (артикул {$purchase->sku}){/if}			
    				</span>
    			</td>
    			<td class="align_right">
    				<span class=view_purchase>{$purchase->price}</span> {$currency->sign}
    			</td>
    			<td class="align_right">			
    				<span class=view_purchase>
    					{$purchase->amount} {$settings->units}
    				</span>
    			</td>
    			<td class="align_right">
    				<span class=view_purchase>{$purchase->price*$purchase->amount}</span> {$currency->sign}
    			</td>
    		</tr>
    		{/foreach}
    		{* Если стоимость доставки входит в сумму заказа *}
    		{if $order->delivery_price>0}
    		<tr>
    			<td colspan=3>{$delivery->name|escape}{if $order->separate_delivery} (оплачивается отдельно){/if}</td>
    			<td class="align_right">{$order->delivery_price|convert} {$currency->sign}</td>
    		</tr>
    		{/if}
    		
    	</table>
    </div>
    
    </br>
    
    <div id="total">
    	<table>
    		{if $order->discount>0}
    		<tr>
    			<th>Скидка</th>
    			<td>{$order->discount} %</td>
    		</tr>
    		{/if}
    		{if $order->coupon_discount>0}
    		<tr>
    			<th>Купон{if $order->coupon_code} ({$order->coupon_code}){/if}</th>
    			<td>{$order->coupon_discount} {$currency->sign}</td>
    		</tr>
    		{/if}		
    		<tr>
    			<th>Итого</th>
    			<td class="total">{$order->total_price} {$currency->sign}</td>
    		</tr>
    		{if $payment_method}
    		<tr>
    			<td colspan="2">Способ оплаты: {$payment_method->name}</td>
    		</tr>
    		<tr>
    			<th>К оплате</th>
    			<td class="total">{$order->total_price|convert:$payment_method->currency_id} {$payment_currency->sign}</td>
    		</tr>
    		{/if}
    	</table>
    </div>
    
    </body>
    </html>
    
    
    

     

    post-16966-0-01605300-1575016137_thumb.png

    post-16966-0-28725100-1575016180_thumb.png

  4. $response = null;

    $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); 

    Вот это надо вставлять не после class а в ФУНКЦИЮ

    Подключал капчу для блога и косякнул как все :D

     

    Сначала вставил сюда:

    class BlogView extends View
    {
    $response = null;
    $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); 
    

    Получил ошибку syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST), прочитал комент Kosjak76

    и исправил, нужно вставлять сюда:

     

    // Принимаем комментарий
            if ($this->request->method('post') && $this->request->post('comment'))
            {
                $response = null;
                $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code);
    

    Спасибо за подсказку

  5.  

    Всем привет дорогие друзья. Хотел выгрузить прайс лист с 14845 товарами, но столкнулся с проблемой, очень много свойств товара присутствует в прайс-листе, а именно 1434.

    Simpla добавляет максимум 15 товаров, и все эти товары добавлены некорректно, у некоторых нет цены, у некоторых нет названия, и так далее.

    Насколько я понял, цмс начинает тупить из-за такого огромного количества свойства товара.

    Подскажите пожалуйста как выгрузить такой прайс-лист?

    Ссылка на сам прайс лист https://drive.google.com/file/d/1UkJJjOPCXG5huP3I6h0Gm1XGZQAbWj3R/view?usp=sharing

    post-16966-0-87200200-1570826303_thumb.png

    post-16966-0-46030300-1570826311_thumb.png

  6. У меня хостинг от рег.ру

     

    Как изменить max_input_vars?

    max_input_vars задаёт количество входных переменных, которое может быть принято в одном запросе.

    Откройте файл php.ini и задайте необходимое значение:
    пример

     max_input_vars = 5000

     

    Проверил, все работает! Теперь весь товар можно удалить за один заход!

  7. Увидел несколько реализаций и даже платных модулей, откровенно говоря на мой взгляд они крайне избыточны а местами даже экзотические. решил поделиться простым решением для создания шаблонов meta-тегов а так же описания для категорий и товаров.

     

    пример

     

    открываем products.tpl, в шапке добавляем.

     

    {if $features && ($meta_title || $meta_keywords || $meta_description)}
        {foreach $features as $key=>$f}
            {foreach $f->options as $o}
                {if $smarty.get.{$f->id} && $smarty.get.{$f->id} == $o->value}
                    {$filter_title[] = "{$f->name|escape|lower}: {$o->value|escape|lower}"}
                    {$filter_keywords[] = $o->value|escape|lower}
                {/if}
            {/foreach}
        {/foreach}
        {if $filter_title}
            {eval var="{"; "|implode:$filter_title}" assign=filter_title}
            {eval var="{", "|implode:$filter_keywords}" assign=filter_keywords}
        {/if}
    {/if}
    
    {if $meta_title}
        {eval var=$meta_title assign=new_meta_title}
        {$meta_title=$new_meta_title scope=parent}
    {/if}
    {if $meta_keywords}
        {eval var=$meta_keywords assign=new_meta_keywords}
        {$meta_keywords=$new_meta_keywords scope=parent}
    {/if}
    {if $meta_description}
        {eval var=$meta_description assign=new_meta_description}
        {$meta_description=$new_meta_description scope=parent}
    {/if}
    

    далее идем в редактор категории

     

    Шаблон заголовка

    {$category->name|escape}{if $brand} {$brand->name|escape}{/if}{if $filter_title}, {$filter_title}{/if} - купить в интернет-магазине {$settings->site_name|escape}

    Шаблон ключевых слов

    {$category->name|escape|lower}{if $brand}, {$brand->name|escape|lower}{/if}{if $filter_keywords}, {$filter_keywords}{/if}

    Шаблон описания

    Купить {$category->name|escape|lower}{if $brand} {$brand->name|escape}{/if}{if $filter_title} с характеристиками - {$filter_title}{/if} в интернет-магазине {$settings->site_name|escape}. Низкие цены, доставка, самовывоз

     

    Готово! На выходе получаем страницы с уникальными мета-тегами.

     

    Напишите пожалуйста подробную инструкцию по установке, к примеру файл такой, строка такая, вставить,или заменить.

    Спасибо большое!

  8. Хорошо Кирилл, сделаю я вам такой модулик, статистику не так и сложно докрутить. А модуль по поставщикам у меня есть, работает у трех-пяти человек с этого форума, вроде замечаний не было. Установка "в базе" стоит 30$, с учетом статистики думаю будет подороже, всё как обычно обсуждаем в лс.

    А че ето за модуль "поставщики" , ГДЕ МОЖНО ГЛЯНУТЬ ЕГО? :)

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