Перейти к содержимому


Фото
- - - - -

Множественное значение фильтра

фильтр

  • Чтобы отвечать, сперва войдите на форум
18 ответов в теме

#1 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 25.08.2016 - 17:53

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

 

Сделал все как тут http://simpla-addons...nachenie-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}) якобы подставляется строка вместо массива, но все же правильно ))



#2 ps-simpla

ps-simpla

    Модератор в запасе :)

  • Модератор
  • 1 006 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Пермский край

Опубликовано 25.08.2016 - 19:29

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

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



#3 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 25.08.2016 - 19:43

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

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

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



#4 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 25.08.2016 - 20:34

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



#5 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 837 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 25.08.2016 - 20:49

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

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

#6 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 25.08.2016 - 20:53

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

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



#7 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 837 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 25.08.2016 - 21:03

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

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

#8 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 25.08.2016 - 21:17

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

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



#9 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 837 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 25.08.2016 - 21:20

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

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

#10 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 25.08.2016 - 22:25

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

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

[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



#11 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 26.08.2016 - 14:04

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



#12 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 26.08.2016 - 15:19

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

	<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, 26.08.2016 - 15:34


#13 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 26.08.2016 - 16:51

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



#14 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 26.08.2016 - 18:08

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

 

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


Изменено: mishanya, 26.08.2016 - 18:09


#15 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 26.08.2016 - 18:12

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

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



#16 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 26.08.2016 - 18:13

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

 

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



#17 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 26.08.2016 - 20:04

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

 

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

 

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

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



#18 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 26.08.2016 - 21:13

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

 

<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}


#19 netoniel333

netoniel333
  • Пользователь
  • 22 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 27.08.2016 - 09:32

Остальные ошибки убрал тоже проверкой на массив там где вставляем in (?@).







Также с меткой «фильтр»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых