Jump to content

alexivchenko

Пользователь
  • Content Count

    359
  • Joined

Posts posted by alexivchenko

  1. Ну код не сжимает то что находится внутри html тегов <script|textarea|pre>.

    И стандартный smarty тоже. {literal} тут ни при чем 

     

    Очень жаль, что не сжимает. Пока обойдусь, но нужно будет как-то решить вопрос сжатия html тегов </script> и </style>. Не вписывая их по файлам. Так как есть куски, которые работают на определенных страницах.

  2. Разница в том что вшитый Smarty - Trimwhitespace выполняется каждый раз как только открывается страница. А через template_min сжатие выполнится разово перед тем как сгенерируется файл для папки compiled  

     

    и по идее literal он должен был обработать. Возможно после вставки кода - вы не очистили папку compiled 

     

    Прописал ваш код, изменил данные в config. Ничего не изменилось пока не очистил папку compiled. Проверил исходный код, literal не изменился

  3. Смысл тега {literal} в Smarty - то, что находится в этом теге НЕ ОБРАБАТЫВАЕТСЯ Smarty 

    Если хотите чтобы обрабатывалось убирайте {literal} и решайте вопросы со скриптами другим способом

    Смысл ясен, читал руководство по Smarty и {literal}

    Спасибо, значит буду решать другим способом.

  4.  

    Можете попробовать http://forum.simplacms.ru/topic/8324-html-сжатие-страницы-simpla-cms-smarty/?p=62956

    А вообще если уже хотите сжимать html на лету - то лучше использовать что то серверное а не php 

     
    Скопируйте себе метод template_min и его подключение:
            if($this->config->smarty_html_minify)
                $this->smarty->registerFilter('pre', array($this, 'template_min'));

     

    Взял ваше решение и не понял чем оно отличается от вшитого в Smarty - Trimwhitespace

    Основной код так же сжался, а вот под {literal} остались неизменными 

     

    Использую Simpla 2.3.8 Smarty 3.1.34 стандартный шаблон и функционал без изменений

  5. Доброго дня! 

    Никак не могу понять и победить Smarty в частности, сжимать данные находящиеся под {literal} в теле страницы.

    Smarty подключен через Composer

    config/config.php - smarty_html_minify = true;

    Основной код сжимается, но данные под {literal} остаются неизменными.

    {ldelim},{rdelim} не работает

     

    Есть какие-то ходы? 

    Кто-то может подсказать как сжимать? 

  6.  

    Информация о заказах на телеграм приходит корректно. По аналогии с корзиной пробовал реализовать сообщения об обратном звонке, но не получается.

     

    1. В файле TgNotify.php создал класс:

     

    public function message_callback($callback_id) {

    if(!($callback = $this->callbacks->get_callback(intval($callback_id)))) {

    return false;

    }

    $this->apiRequest("sendMessage", array('chat_id' => $this->settings->tg_channel, 'parse_mode'=>'HTML', "text" => $text_string));

     

    2. В файле View/CartView.php вставил код для уведомления в Телеграмм:

     

    if($this->settings->tg_notify==1)

    $this->tgnotify->message_callback($callback_id);

     

    Что упустил?

    2. В файле View/CartView.php вставил код для уведомления в Телеграмм:

     

    if($this->settings->tg_notify==1)

    $this->tgnotify->message_callback($callback_id);

     

    Это должно быть там, где работает функция обратного звонка. Скорее всего она у вас в view/IndexView.php

  7. beget.ru

     

    htaccess стандартный, добавил 4 строчки , которые выше.

     

     

    ERR_INVALID_REDIRECT 

     

    <IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
    
    
    <IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    </IfModule>
    
    
    
    # Админка теперь по адресу /simpla/
    RewriteRule	^admin/?$  simpla/ [L]
    
  8. #Редирект на HTTPS:
    RewriteCond %{HTTPS} =off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    #!!!Внимание, с редиректом вход будет обязательно со слешем в конце /simpla/
    

     

    #Редирект С www на БЕЗ www:
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

    ...

     

    # Админка теперь по адресу /simpla
    RewriteRule ^admin/?$ simpla/ [L]
    
  9. проверка по времени не особо надежное решение. А счетчик посещений страницы заказа - решение рабочее, но зачем лишняя нагрузка

    Там есть пост от Dmitry86 никакой проверки времени не нужно

     

    Ещё можно вот так

    forum.simplacms.ru/topic/13591-счётчик-посещений-страницы-спасибо-за-заказ/?p=106440

  10. Какую ссылку?

    Ссылку на рабочий сайт.

    А если сайт локальный, то нужно понять, что делали и что меняли.

     

    Правильный путь до стилей в index.tpl

     

    <link href="design/{$settings->theme|escape}/css/style.css" rel="stylesheet" type="text/css" media="screen"/>

     

    Никаких прямых путей

     

    После открытого тега <head> и до <title> обязательно вставить

    <base href="{$config->root_url}/"/>

  11. Alex спасибо за предложенное решение, можно поподробнее с api/Design.php, там два места с кодом http, сделал все по инструкции, пробовал менять с одном месте и в двух, эффекта загрузки нет, появляется пустая картинка ведущая на 404

    Csb9OaqXThuI0SKRfwMOzQ.png

     

     

    нет случаем файлов "под замену", с меня пиво =D

    https://github.com/pikusov/Simpla/blob/9fefafa38dc739b4348b4a2940cba8bc8e4363ed/api/Design.php#L213

    Код на линиях 213 и 214 заменить

    На

    if (preg_match("~^https?://~", $resized_filename_encoded)) {

    $resized_filename_encoded = rawurlencode($resized_filename_encoded);

    }

  12. Заменяем

    В api/Image.php

    ...

    // Если файл удаленный (http://), зальем его себе

    if (preg_match("~^https?://~", $source_file)) {

    ...

    В api/Design.php

    ...

    if (preg_match("~^https?://~", $resized_filename_encoded)) {

    $resized_filename_encoded = rawurlencode($resized_filename_encoded);

    }

    ...

    Плюс

    Файл simpla\ProductAdmin.php

     

    Меняем строку

    if(!empty($url) && $url != 'http://' && strstr($url,'/')!==false)

     

    На

    if(!empty($url) && $url != 'http://' && $url != 'https://' && strstr($url,'/')!==false)

     

    Оригинал: https://qna.habr.com/q/542206

  13. структуру массива поменяйте в IndexView.php

     

    А для чего вам вообще это нужно? И причем тут smarty?

     

    Причем тут Smarty, чтобы я потом нашел по поиску =)

    Для чего нужно, я сделал для User несколько View. Отдельно редактирование пароля, адреса, отдельно заказы. И еще некоторые вью.

    Теперь там портянка из 50 вью =) 

     

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

     

            // Создаем соответствующий класс
            if (is_file($this->modules_dir."$module.php")) {
                include_once($this->modules_dir."$module.php");
                if (class_exists($module)) {
                    $view = new $module($this);
                } else {
                    return false;
                }
            } else {
                return false;
            }
    
×
×
  • Create New...