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

Рекомендуемые сообщения

ДОброго времени суток,

 

Сделал все как тут http://simpla-addons.org/blog/modules/236-mnozhestvennoe-znachenie-filtra на симплу 2.2.4.

 

В итоге все работает, но вылазят ошибки 

 

PHP Warning: in_array() expects parameter 2 to be array, string given in 79ef5e779ec7c56.file.products.tpl.php on line 99

 

{* Фильтр по свойствам *}{if $features}
<form method="get" action="{url page=null}">
    <table id="features">
        {foreach $features as $f}
        <tr>
            <td class="feature_name" data-feature="{$f->id}">
                {$f->name}:
            </td>
            <td class="feature_values">
                <ul>
                    {foreach $f->options as $k=>$o}
                    <li style="list-style:none;float:left;margin-right:15px;">
                        <label>
                            <input type="checkbox" name="{$f->id}[]" onchange="submit(this.form);" {if $filter_features.{$f->id} && in_array($o->value,$filter_features.{$f->id})}checked="checked"{/if} value="{$o->value|escape}" />{$o->value|escape}
                        </label>
                    </li>
                    {/foreach}
                </ul>
            </td>
        </tr>
        {/foreach}
    </table>
</form>
{/if}
 

Тут in_array($o->value,$filter_features.{$f->id}) якобы подставляется строка вместо массива, но все же правильно ))

Ссылка на сообщение
Поделиться на другие сайты

1. Чистим временные файлы в папке cache, И проверяем.
2. Ниже есть система комментариев и за 2016 год я не увидел сообщений. Для начала стоило было туда отписаться. 
3. На сайте есть обратная связь - с контактами автора этого дополнения.
4. Стоит написать самому автору.

Но так как за все время в комментариях не было написано сообщение от том что дополнение выдает ошибку. То можно сделать вывод: Что вы ошиблись в установке и стоит еще раз проверить. Если вы уверены, что все правильно установили. То логичней будет отписать в комментариях. Что бы помочь в будущем другим "Программистам" помочь решить данную проблему. А самым лучшим решением будет написать автору. Если действительно будет его ошибка то он обновит информацию по установке дополнения. 

Ссылка на сообщение
Поделиться на другие сайты

Та инструкция написана аккуратно и обычно все работает

Проверяйте. Скорее всего, Вы ошиблись при установке.

Если дадите URL, где проявляется ошибка, возможно, станет проще понять причину.

Ссылка на сообщение
Поделиться на другие сайты

Ошибка везде где фильтр есть например здесь (http://ilempi.ru/catalog/mebelnye-ruchki). Cashe и compiled уже чистил. Автор не отвечает неделю как.

Ссылка на сообщение
Поделиться на другие сайты

Ошибка везде где фильтр есть например здесь (http://ilempi.ru/catalog/mebelnye-ruchki). Cashe и compiled уже чистил. Автор не отвечает неделю как.

Может вы не тому автору писали?

Автор я и никаких уведомлений касаемо фильтра я не получал.

Ссылка на сообщение
Поделиться на другие сайты

Может вы не тому автору писали?

Автор я и никаких уведомлений касаемо фильтра я не получал.

Сюда https://vk.com/davincidev ))

Ссылка на сообщение
Поделиться на другие сайты
И с чего бы это вдруг он стал автором?

В статье несколько раз упоминается кто автор, нужно бы внимательно смотреть.

Полагаю из-за вашей не внимательности и вылазят ошибки.

Ссылка на сообщение
Поделиться на другие сайты

И с чего бы это вдруг он стал автором?

В статье несколько раз упоминается кто автор, нужно бы внимательно смотреть.

Полагаю из-за вашей не внимательности и вылазят ошибки.

Прошу прощения, все нашел и исправил.

Ссылка на сообщение
Поделиться на другие сайты

И все же в чем была проблема? Просветите нас...

Ошибся, все так же...

[Thu Aug 25 22:19:27.502922 2016] [:error] [pid 18860] [client 51.255.65.36:12678] PHP Warning: Placeholder substitution error. Diagnostics: "AND p.id in (SELECT product_id FROM s_options WHERE feature_id=? AND value in (NOT_AN_ARRAY_PLACEHOLDER_1) ) " in /home/u388912/ilempi.ru/www/api/Database.php on line 132

[Thu Aug 25 22:19:27.528182 2016] [:error] [pid 18860] [client 51.255.65.36:12678] PHP Warning: in_array() expects parameter 2 to be array, string given in /home/u388912/ilempi.ru/www/compiled/ilempi/c80282b7b92449861331b609479ef5e779ec7c56.file.products.tpl.php on line 99

 

[Thu Aug 25 22:19:11.273961 2016] [:error] [pid 18762] [client 164.132.161.54:12517] PHP Warning: Placeholder substitution error. Diagnostics: "AND (po.feature_id=? OR po.product_id in (SELECT product_id FROM s_options WHERE feature_id=? AND value in (NOT_AN_ARRAY_PLACEHOLDER_2) )) " in /home/u388912/ilempi.ru/www/api/Database.php on line 132

Ссылка на сообщение
Поделиться на другие сайты

Добавил alt="{$filter_features.{$f->id}}" для теста. Если стоит галочка на чекбоксе то все ок это массив, если нет то это строка отсюда и ошибки.

Ссылка на сообщение
Поделиться на другие сайты

Вроде починил заменив на это. Теперь сначала проверяет есть ли массив, а потом ищет в нем.

	<input type="checkbox" name="{$f->id}[]"  onchange="submit(this.form);" {if $filter_features.{$f->id}} {If in_array($o->value,$filter_features.{$f->id})}checked="checked"{/if}{/if} value="{$o->value|escape}" />{$o->value|escape}
Изменено пользователем netoniel333
Ссылка на сообщение
Поделиться на другие сайты

Да блин, приходят боты от яндекса и оставляют все те же ошибки. Видимо ничего не изменилось.

Ссылка на сообщение
Поделиться на другие сайты

Да блин, приходят боты от яндекса и оставляют все те же ошибки. Видимо ничего не изменилось.

 

это же не ошибка а нотайс, в чем проблема просто не выводить их. когда не отмечено свойство в фильтре массива $filter_features.{$f->id} попросту нет. из-за этого и предупреждение.

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

это же не ошибка а нотайс, в чем проблема просто не выводить их. когда не отмечено свойство в фильтре массива $filter_features.{$f->id} попросту нет. из-за этого и предупреждение.

На хостинге файлы логов стали расти со скоростью света, а я их смотрю иногда.

Ссылка на сообщение
Поделиться на другие сайты

На хостинге файлы логов стали расти со скоростью света, а я их смотрю иногда.

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

Совет странный, я бы назвал такой даже вредительским.  В предупреждении содержится информация о явной ошибке, которую надо исправлять. Ведь сейчас сайт массово гоняет неверные бессмысленные  запросы к БД.

 

Болезнь надо лечить, а не прятать.

Ошибку надо исправлять, а не скрывать...

Ссылка на сообщение
Поделиться на другие сайты

Вот теперь точно, одну часть ошибок убрал.

 

<input type="checkbox" name="{$f->id}[]"  onchange="submit(this.form);" {if is_array($filter_features.{$f->id})} {If in_array($o->value,$filter_features.{$f->id})}checked="checked"{/if}{/if} value="{$o->value|escape}" />{$o->value|escape}
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...