Что нового

Бесплатно Немного доработанный модуль для подсчета новостей по значению дополнительного поля

stillmaster

Участник
Проверенные
Регистрация
18 Авг 2022
Сообщения
345
Реакции
196
Был у меня старенький хак от PunPun который считал количество новостей по значению в доп поле, но у него не было функции вывода количества просто заполненных определенных доп полей. И вывода количества новостей если задать диапазон. вот эти функции я и добавил, теперь чтобы вывести все новости где определенные доп поля заполнены достаточно добавить например
{include file="engine/modules/xf_count.php?xfield=telegram_login&value=any"} выведет количество где есть поле telegram_login и оно заполнено, а например
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20"} выведет количество новостей в которых доп поле vozrast имеет значения от 18 до 20
 
Здравствуйте. Спасибо за простенький, но полезный модуль. Есть небольшое пожелание чуток усовершенствовать его. Пожалуйста добавьте возможность чтобы можно было указать id категорий из которых вести подсчет.

Вывод так {include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4"}
 
Последнее редактирование:
Здравствуйте. Спасибо за простенький, но полезный модуль. Есть небольшое пожелание чуток усовершенствовать его. Пожалуйста добавьте возможность чтобы можно было указать id категорий из которых вести подсчет.

Вывод так {include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4"}
Как будет свободное время, сделаю, это надо было мне для заказа вот и дописал.
 
Просили чтобы можно было учитывать категории при такой вставке {include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4"} вот в принципе подредактировал теперь при подсчете учитывает категории если через запятую 2,4 то будет искать 2 и 4 если через тире 2-4, то 2,3,4
 
Просили чтобы можно было учитывать категории при такой вставке {include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4"} вот в принципе подредактировал теперь при подсчете учитывает категории если через запятую 2,4 то будет искать 2 и 4 если через тире 2-4, то 2,3,4
*** Скрытый текст не может быть процитирован. ***
Большое спасибо за правку. Все работает, проверил. (y)
 
Здравствуйте. До сих пор использую данный модуль.

Сейчас конструкция такая же как была
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4"}

Хотелось бы добавить еще одно условие для подсчета &xfieldnot то есть исключить указанное доп поле для подсчета.
Чтобы была такая конструкция
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4&xfieldnot=country"}

Кто сможет подредактировать данный модуль?
 
Здравствуйте. До сих пор использую данный модуль.

Сейчас конструкция такая же как была
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4"}

Хотелось бы добавить еще одно условие для подсчета &xfieldnot то есть исключить указанное доп поле для подсчета.
Чтобы была такая конструкция
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4&xfieldnot=country"}

Кто сможет подредактировать данный модуль?
Через пару дней смогу думаю, если не забуду или раньше никто не сделает
 
Был у меня старенький хак от PunPun который считал количество новостей по значению в доп поле, но у него не было функции вывода количества просто заполненных определенных доп полей. И вывода количества новостей если задать диапазон. вот эти функции я и добавил, теперь чтобы вывести все новости где определенные доп поля заполнены достаточно добавить например
{include file="engine/modules/xf_count.php?xfield=telegram_login&value=any"} выведет количество где есть поле telegram_login и оно заполнено, а например
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20"} выведет количество новостей в которых доп поле vozrast имеет значения от 18 до 20
*** Скрытый текст не может быть процитирован. ***
А теперь представь, что у тебя на сайте много новостей (10к+) и подобные запросы уже становятся слишком тяжелыми
+ скрипт меняет глобальный конфиг $config['allow_cache'] = 1; от которого могут зависеть другие плагины и тогда сторонние плагины могут ломаться или вообще фаталить
 
А теперь представь, что у тебя на сайте много новостей (10к+) и подобные запросы уже становятся слишком тяжелыми
+ скрипт меняет глобальный конфиг $config['allow_cache'] = 1; от которого могут зависеть другие плагины и тогда сторонние плагины могут ломаться или вообще фаталить
У меня небольшой сайт и сама конструкция обернута тегами [group=1][/group] кроме меня никто не видит значения поэтому не вызывает нагрузки.
А потом других вариантов посчитать значения из доп поля нет если я понимаю правильно так как они в одной куче в одном поле в базе хранятся.

Если есть возможность по другому реализовать, сделайте пригодится многим. Я в php не разбираюсь, но судя по кол-ву кода в данном решении не сильно трудно и долго написать такой модуль если знаешь код
 
Последнее редактирование:
Пока нет возможности поправить модуль? Или может забыли уже 🙃
должно работать, на практике не проверял. Нужно добавлять так
Код:
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4&xfieldnot=country&valuenot=Россия"}
  • xfieldnot - название дополнительного поля для исключения
  • valuenot - значение для исключения
Если я правильно понял задумку.
 
*** Скрытый текст не может быть процитирован. *** должно работать, на практике не проверял. Нужно добавлять так
Код:
{include file="engine/modules/xf_count.php?xfield=vozrast&value=18,20&category=2,4&xfieldnot=country&valuenot=Россия"}
  • xfieldnot - название дополнительного поля для исключения
  • valuenot - значение для исключения
Если я правильно понял задумку.
Сейчас проверил, не работает исключение. Выводит неверное количество.
По задумке чуток не так. Достаточно указать только доп поле для исключения без его значения. При желании можно и со значением сделать.
В любом случае сейчас подсчет неверный

Пробовал так
{include file="engine/modules/xf_count.php?xfield=rusprem&value=02.2026&category=7,39&xfieldnot=platform&valuenot=Netflix"}
и так
{include file="engine/modules/xf_count.php?xfield=rusprem&value=02.2026&category=7,39&xfieldnot=platform"}
 
Сейчас проверил, не работает исключение. Выводит неверное количество.
По задумке чуток не так. Достаточно указать только доп поле для исключения без его значения. При желании можно и со значением сделать.
В любом случае сейчас подсчет неверный

Пробовал так
{include file="engine/modules/xf_count.php?xfield=rusprem&value=02.2026&category=7,39&xfieldnot=platform&valuenot=Netflix"}
и так
{include file="engine/modules/xf_count.php?xfield=rusprem&value=02.2026&category=7,39&xfieldnot=platform"}
xfield=rusprem&value=02.2026 там именно так вписано а если вернуть старую версию и отфильтровать по xfield=rusprem&value=02.2026 правильно считает, просто я не делал учет на точки в значении value
 
Последнее редактирование:
Верх