неверно задан параметр math как исправить?

Тема в разделе "Как сделать...", создана пользователем SPoX, 18 дек 2015.

  1. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    здравствуйте у меня на сайте в логах такая ошибка каждый божий день

    на линии 1092 у меня этот код:
    Код:
        /**
         * trigger Smarty error
         *
         * @param string $error_msg
         * @param integer $error_type
         */
        function trigger_error($error_msg, $error_type = E_USER_WARNING)
        {
            trigger_error("Smarty error: $error_msg", $error_type);
        }
    
    в гугле искал и нашел что в шаблоне где то не прописанно или же неверно задан параметр math

    я в PHP вообще не разбираюсь так что самостоятельно ничего не могу сделать
    как найти откуда идет ошибка в каком файле?

    есть метод чтобы определить?
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    У тебя в движке 2080 мест, где вызывается этот триггер, родной.
    Но я бы обратил внимание на это место:
    \libs\plugins\function.math.php — $smarty->trigger_error("math: parameter $key is empty");
    Там нужно поставить «крючок» для вызова параметров, а потом гулять по ссылкам по всему движку, пока в логи не вывалится расширенная ошибка.
    Тогда уж найти где в шаблоне и её исправить.
    Вероятность, что можете исправить случайно, мала.
     
  3. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    527
    Симпатии:
    243
    буквально - сообщается что параметр пуст, типа функция получила ошибку, но какая ошибка она не видит. И из этого появляется еще одна ошибка :confused:
     
  4. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    а нельзя застаить как то показать из какого файла идет ошибка
    типо этого
    я так понял это и есть
    да?
     
  5. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    да вряд ли
    попробуйте ту строчку переписать
    $smarty->trigger_error("math: parameter $key for value $val is empty");
    и полазить по сайту

    В логах появится немного больше информации и возможно поможет выявить ошибку.
     
  6. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    ничего нового теперь показивет так
    а что это за интервал времени когда это ошибка выскакивает в логах?
    это выскакивает тогда когда на сайте используется тот функция у которого неверно задан math параметр или же так обновляется логи?
     
  7. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Это не может быть временем, когда на сайт заходишь? Нужно сравнить время ошибки со временем посещения.
    Эти логи где-то выше, чем сайт лежат.
    Можно попробовать по времени посещения найти, какой скрипт ошибки в логи пишет.
    А потом уже найти внутри скрипта место ошибки.
    если после value ничего нет, значит это параметр 'no' передается пустым, и это вызывает ошибку.

    Параметр 'no' применяется в 25 местах.
    В знаменателе 'no' применяется в 2 файлах шаблона: featured.html и similar_ads.html
    Попадая в знаменатель, он может вызвать критическую ошибку, если равен 0 или пуст.
     
    Последнее редактирование модератором: 18 дек 2015
    SPoX нравится это.
  8. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    наверно но смотрите

    [18-Dec-2015 04:15:18 Asia]
    [18-Dec-2015 06:52:40 Asia]

    это точно не я... да и сайт пока еше не запустил


    по моему здесь есть ошибка
    модуль похожие у меня включен но по сколку контента еше не добавил похожие новости там нету то есть если зайдешь на сайте похожие новости равняется 0
    я все в одну категорию собиру и посмотрю что будет

    там к стати в обоих файлах идентичны код
    Код:
     {capture name=some_content assign=item_width}{math equation="(w-w1)/no" w=$appearance.outer_table w1=75 no=$ads_settings.no_featured_on_row}{/capture} 
     
  9. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Ну можно попробовать заменить в обоих код:
    Код:
    {capture name=some_content assign=item_width}{math equation="(w-w1)/no" w=$appearance.outer_table w1=75 no=$ads_settings.no_featured_on_row}{/capture} 
    на:
    Код:
    {capture name=some_content assign=item_width}{if $ads_settings.no_featured_on_row}{math equation="(w-w1)/no" w=$appearance.outer_table w1=75 no=$ads_settings.no_featured_on_row}{/if}{/capture}
    Суть: добавляем дополнительную проверку $ads_settings.no_featured_on_row и отключаем потенциальную возможность деления на 0.
     
    SPoX нравится это.
  10. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    поменял в обоих файлах + все в одну котегорию добавил
    лог файл удалил теперь посмотрим что будет по моему в этом было проблема