Jump to content

xikarx

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

    47
  • Joined

  • Last visited

Posts posted by xikarx

  1. И снова всем здравствуйте. Давно не обновлял сайт, тутвзялся добавить товар и выяснил, что товары оказывается добавляться не желают или добаляются с ошибкой. 

    Снова прошу помощи. Основную ошибку, не дававшую создатьновый товар вроде пофиксил (было 

    PHP Warning:  Column 'action' cannot be null [INSERT INTO s_products SET id='0', ........  new=NULL, action=NULL, ned='0', bez='0'] in /var/www/ikar/data/www/astra-omsk.ru/api/Database.php on line 100, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin

     Присвоил полю action значение null по умолчанию. Кстати, подскажите, второй вариант как сделать - где в коде сайта разрешить null значение в данном поле?

    И второе - имею кучу ошибок (в логах), влияние которых, вроде на работу сайта пока не увидел, но которые раздражают:

    https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin
    [Sun Nov 19 17:47:51.411838 2023] [php7:warn] [pid 20733] [client 188.43.194.125:56570] PHP Warning:  Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 72, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin

     собственно указанная сторока (с 67 по 76)

    // Свойства товара
       	    	$options = $this->request->post('options');
    			if(is_array($options))
    			{
    				foreach($options as $f_id=>$val)
    				{
    					$po[$f_id]->feature_id = $f_id;
    					$po[$f_id]->value = $val;
    				}
    				$options = $po;
    			}

     

     

    и еще не понятные мне ошибки:

     

    [Sun Nov 19 17:47:51.458115 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice:  Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 308, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin
    
    [Sun Nov 19 17:47:51.465958 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice:  Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 453, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin
    
    [Sun Nov 19 17:47:56.216594 2023] [php7:warn] [pid 20737] [client 188.43.194.125:57132] PHP Warning:  A non-numeric value encountered in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/f926a1426a3c03df5714da5ede71d26e0e28a930_0.file.product.tpl.php on line 212, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin
    
    [Sun Nov 19 17:47:56.217139 2023] [php7:warn] [pid 20737] [client 188.43.194.125:57132] PHP Warning:  Parameter 2 to View::get_object_articles_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/f926a1426a3c03df5714da5ede71d26e0e28a930_0.file.product.tpl.php on line 561, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin

    Кто чем пособит буду очень признателен. 

  2. Изловил еще одну проблему, чтобы не создавать новой темы - спрошу здесь. Я не уверен, что связано с заменой версии Smarty, но вроде проблема появилась после обновления.

    Короче суть - при создании заказа письмо о заказе на админский email приходит с заголовком "<без темы>", до этого прихоили с заголовком "Новый заказ №ххх".

    полез разбираться. в исходниках писем наблюдаю такое 

    Subject: =?utf-8?B??=, 

    до этого, в Subject передавалось сообщение о номере заказа в закодированном виде, типа так:

    Subject: =?utf-8?B?0J3QvtCy0YvQuSDQt9Cw0LrQsNC3IOKEljQ0NzU=?=

    Вопрос - куда это вообще копать? Это вопросы к серверу, к движку, к Smarty, email-серверу? Я этой темы вообще не знаю, ни разу не сталкиваося

    какой скрипт/служба ответственны за передачу в http заголовки темы письма?

    В Гугле куча теоретической инфы о заголовках, а как и где они формируются при создании и пересылке электронных писем я не нашел. Может правильно не заню как гугла спросить...

  3. Спасибо, помогло. Я еще думал про эти ссылки нопробовать не стал. Не вкуриваю эту тему в ооп. 

    Осталась одна ошибка - но уже, по всей видимости из другой оперы - 

    Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/view/View.php on line 167

    т.е. вот тут

    public function get_session_products_plugin($params, $smarty)
    	{
    		if(!empty($_SESSION[$params['key']]))
            {
                
                $result->key   = $params['key']; // ключ
                $result->ids   = $_SESSION[$params['key']]; // сессия
                $result->count = count($_SESSION[$params['key']]); // количество
                $smarty->assign($params['key'], $result);
    		}
    	}

    я так понимаю, попытка создать объект из пустого значения? В общем с эти что сделать? Пробовал закомментить - получаю 500 ошибку..

  4. Под хостинг с php7.2 решил установить Smarty 4.x в Симплу. Залил простым копированием - все вроде нормально, работает справно. Но как оказалось, после создания заказа, на страницах /order/dflvndxxxxxxxxx..  в трех местах получаю ошибки:

    Warning: Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 79 

    Warning: Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132

    Warning: Parameter 2 to OrderView::checkout_form() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/4270d009197103a9a5e214be39555a51b172abbd_0.file.order.tpl.php on line 286

     

    Соответственно в логах про это:

    PHP Warning:  Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132
    [Mon Nov 14 20:19:16.294071 2022] [php7:warn] [pid 9021] [client 5.255.253.155:51548]

    PHP Warning:  Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php 

    Насколько я понял - что-то связанное с условиями компилляции шаблонов, в файле View.php с функцией public function get_session_products_plugin($params, &$smarty).

    Подскажите, как чинить?

    И еще - пытался отключить показ ошибок (вроде кроме поломанного дизайна ни на что эти варнинги не влияют), но так и не смог. В самой симпле в индексном файле error_reporting  итак закомментирован, ни добавление инструкций в htaccess, ни установка error reporting - off  в php.ini на сервере - результатов не дала. Естьвообще возможность из самой cms выключить отображение ошибок?

     

  5. добрался до логов. Насколько я понимаю, вот такая строка к ошибке имеет отношение:

    [Tue Oct 26 21:56:27.057228 2021] [php7:error] [pid 18629] [client 109.248.96.158:39912] PHP Fatal error:  Uncaught Error: Call to undefined method Blog::update_views() in /var/www/ikar/data/www/astra-omsk.ru/view/BlogView.php:41\nStack trace:
    \n#0 /var/www/ikar/data/www/astra-omsk.ru/view/BlogView.php(26): BlogView->fetch_post('bukety-iz-ferme...')
    \n#1 /var/www/ikar/data/www/astra-omsk.ru/view/IndexView.php(109): BlogView->fetch()
    \n#2 /var/www/ikar/data/www/astra-omsk.ru/index.php(36):IndexView->fetch()\n#3 {main}\n  thrown in /var/www/ikar/data/www/astra-omsk.ru/view/BlogView.php on line 41

    Соответсвующая строка в BlogView отвечает, как я понимаю, за вывод постов блога и проверку сессии:

    22     // Если указан адрес поста,
    23		if(!empty($url))
    .		{
    .			// Выводим пост
    26			return $this->fetch_post($url);
    .		}
    .		else
    .		{
    .			// Иначе выводим ленту блога
    .			return $this->fetch_blog();
    .		}
    .	}
    .
    35	private function fetch_post($url)
    36	{
    37		// Выбираем пост из базы
    .		$post = $this->blog->get_post($url);
    .		
    .		if($post->visible && empty($_SESSION['admin']))
    .		$this->blog->update_views($post->id);
    .		
    .		// Если не найден - ошибка
    44		if(!$post || (!$post->visible && empty($_SESSION['admin'])))
    45			return false;

     

    пытался разобраться в явно причастном к проблеме IndexView - но не могу понять, что там не так. 

  6. Доброго времени суток всем, уважаемые!

    Столкнулся с проблемой, надеюсь не откажете советом?

    Статьи опубликованные в блог на сайте под авторизацией прекрасно доступны, а без авторизации - отдают ошибку 500. В чем дело, куда копать?

  7. Друзья, помогите с вопросом, кому не лень.

    пытаюсь осваивать php и что-то самому сделать в Simple.

    Нужно при оформлении заказа добавить пару дополнительных полей.

    Еще одно имя и номер телефона.

    Я добавил в БД, в s_orders, дополнительные ячейки name2 и phone2.

    в cartView зарегистрировал переменные

    $order->name2       = $this->request->post('name2');
    $order->phone2       = $this->request->post('phone2');

    ну и разумеется в шаблоне в форме поля для добавления сделал. 

    вроде все ништяк - в БД новые данные добавляются.

    А вот в админке на странице заказа вывести эти данные не могу.

    прописываю {$order->name2|escape} - и ничего.

    что и где я упустил?

     

  8. Народ, прошу помочь с реКаптчей. Перепробовал все, что предлагается в этой теме (кроме прикрепленных файлов, которые скачиваются пустыми, почему-то). На страницах товаров в отзывах реКаптча не работает. У меня добавлен модуль быстрого заказа и я не пойму, где я что не так делаю... Короче прикладываю файл, буду благодарен, если кто посмотрит.https://yadi.sk/d/YuPUmv08OrQiPg

    чет файл подгружаться не хочет, выложил на ЯДиск.

  9. Уважаемые, а подскажите как победить обратную траблу? По рецепту, закрепленному в начале этой ветки давно и надежно живу на https на сервере (в интернетах). Но вот появилась необходимость поработать с сайтом на локалке, на денвере.

    Скачал сайт с сервера, убрал из htaccess

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    вернул как было в api/Config.php 46 и 47 строки, чтоб стало 

    $protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
            if($_SERVER["SERVER_PORT"] == 443)
    	    $protocol = 'https';
    

    Для надежности раскомментил в C:\WebServers\usr\local\php5\php.ini строку

     

    ;extension=php_openssl.dll

     

    но при попытке открыть сайт с денвера получаю 500 ошибку. В логах сервера вижу такое:

     
    localhost:443:0 server certificate does NOT include an ID which matches the server name
    [Tue Sep 01 01:08:00.411409 2020] [mpm_winnt:notice] [pid 10252:tid 268] AH00354: Child: Starting 64 worker threads.
    [Tue Sep 01 01:08:14.014187 2020] [core:alert] [pid 10252:tid 948] [client 127.0.0.1:55217] Z:/home/astra-omsk.ru/www/.htaccess: Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration
     
    что и где я не доделал? почему денвер по прежнему видит сертификат? как победить?
  10. Надыбал скрипт шаринга по соцсетям, чтоб не ходить на поклон к сторонним сервисам.

    страничка скрипта - на всякий случай.

     

    не соображу, как в смарти внедрить в шаблон конструкцию, которая на пхп выглядит так - 

    <echo 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>.

     

    Пробовал курить Smarty.net и по образу что-то строить - но все не получалось, имел стопицот ошибок типа Uncaught exception 'SmartyCompilerException

     

    заренее благодарен.

  11. shooroop прав, гуглите @media css. Вам нужно найти в файлах шаблона сайта файл с расширением .css и в нем вносить правки.

     

    В вашем случае будет выглядеть примерно так:

     

    @media (min-width: 767px) and (max-width: 990px) {
       .class_name{
          width: такая-то;
          еще что-то;
          ...
       }
    }

    З.Ы: это не PHP, а HTML и CSS. И HTML и CSS - это не языки программирования. Первый - это язык разметки документа, а второй - язык стилевой разметки документа (каскадные таблицы стилей)

     

    @media css загуглите и в

     

    уважаемые, про css и медиазапросы я знаю. Смысл как раз в том - можно ли изменять верстку в зависимости от разрешения экрана? т.е. именно то, что я привел в примере. Ведь скрипт движка определяет девайс с которого смотрят сайт? 

    Короче, возможно сделать как меня интересует, или правильнее/проще медиа-запросами в стилях делать?

  12. Час добрый, товарищи программисты.

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

     

    Подробнее:

    шаблон сверстан колонками, по образу и подобию Bootstrap.

     

    Общая ширина - class="column sixteen"

    хедер поделен на 4 и 12 колонок.

    при ширине экрана меньше 767px - контент складывается в одну колонку и там все отлажено.

    однако, при ширине экрана от 767 до 990px - было бы красивее иметь деление хедера на 6 и 10 колонок.

     

    вопрос: кому не трудно, напишите пожалуйста код, как изменять прописанный к дивам класс в зависимости от ширины экрана устройства.

     

    полагаю это должно быть что-то типа 

    <div {if ширина экрана овер 990px - то }class=four column" else class=six column"">

     

    к несчастью про пхп знания ограничиваются вот примерно такмими измыщлениями, синтаксисом не владею..  :(

     

    заранее благодарен.

  13. сделал по инструкции, вроде все работает но картинка QR-код чет сильно маленькая получается, а на мобильных устройствах вообще пропадает.



    почему так? как победить?

    С размером картинки на десктопе проблему решил правкой файла BTCPay/page.php

     

    А вот на мобильном картинка QR-кода так и не появилась.

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

     

    {if $cart->discount > 0}

    {($purchase->variant->price*$purchase->amount*(1-$cart->discount/100))|convert}

    {elseif  $product->action}checked{/if}}

    {/if}

     

    Спасибо большое, работает.

    Если позволите - еще вопрос, а как в эту форму добавить условие, что на некоторые виды товаров никакая скидка не распространяется?

    Данное свойство задается в админке постановкой галочки (в коде выглядит так:

    {if $product->action}checked{/if}) 

     

    т.е. нужно, видимо, что-то типа такого:

     

     

    если {if $product->action}checked{/if}
    то {($purchase->variant->price*$purchase->amount)}
    иначе
    
    {if $cart->discount > 0}
    {($purchase->variant->price*$purchase->amount*(1-$cart->discount/100))|convert}
    {/if}  {$currency->sign}
     
  15. Втемяшилась такая блажь.
    Хочу в корзине в строке с каждым товаром выводить скидку от суммы (если она есть) 
    Помогите пожалуйста с синтаксисом. 
     
    логика в общем простая
    (Я напишу часть кодом, а ту часть что не знаю как применить синтаксис - просто по русски :) ):
     

     

    {if $cart->discount > 0}
    ($purchase->variant->price*$purchase->amount) минус ($purchase->variant->price*$purchase->amount) / 100 * ($cart->discount) |convert|replace
    {if}
     

     


     
    пробовал все в таком виде и записать  -получаю ошибку.
    прошу сильно не пинать - я ни разу не программист и делаю все скорее по интуиции..
    Буду благодарен за любую помощь.

  16. Разобрался, нужно удалить с файла /api/Config.php следующие строки

    $protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
    if($_SERVER["SERVER_PORT"] == 443)
    

     

    И оставить

    $protocol = 'https';
    

     

     

     

    Сделал как тут сказано, предварительно изменив все ссылки на относительные. В адресной строке браузера увидел вожделенную надпись надежныйоднако, при переходе на страницу корзины (и только корзины) - почему-то адрес меняется на http.

     

    при этом, если навести курсор на ссылку корзины на сайте, то адрес отображается с https (см. рисунок). почему так и как это побеждать?

     

×
×
  • Create New...