[siteStatistics] Статистика сайта
Компонент для учета просмотра и посещений страниц ресурсов. Альтернатива известного дополнения HitsPage, но с дополнительными возможностями. Учитываются не только просмотры, но и уникальные посещения. А в админке можно посмотреть статистику как по ресурсам в разрезе периодов — день, месяц, год, так и сайта в целом.
Вызывается сниппетом siteStatistics и может работать в двух режимах — page и site.
Режим статистики страницы
Сниппет в этом режиме показывает количество посещений или просмотров конкретного ресурса. Указываем в шаблоне или чанке
Например, в шаблоне новостей указываем
Еще важный параметр — count. Он определяет период статистики и принимает следующие значения
Следующий параметр date. Он указывает, на какую дату выводить статистику. Если не указана, то берется текущая. Формат с учетом параметра count: для «byday» — «YYYY-mm-dd», для «bymonth» — «YYYY-mm», для «byyear» — «YYYY».
Параметр show принимает 2 значения — views и users. Если указан views, то выводится количество просмотров (указан по умолчанию). Если users — то количество посещений.
Параметр toPlaceholders используется для сохранения данных о просмотрах и посещениях в плейсхолдеры [[+stat.views]] и [[+stat.users]] соответственно.
Режим статистики сайта
В этом режиме показывается статистика всего сайта. Ставим вызов сниппета в футере
Что-то это напоминает :) Нужно поменять дизайн — меняем шаблон, указанный в параметре tpl.
Административная часть
Как видно по картинке — возможностей для фильтра вполне хватает. Чекбокс «Общая статистика» включает/отключает режим просмотра статистики всего сайта. Текущую запись можно удалить. Так можно очистить статистику у конкретного объекта в конкретный день или у всего сайта вообще или только в указанный период. В общем, ничего сложного.
Но это еще не всё. Если вы закажете этот продукт прямо сейчас, то получите совершенно бесплатно сниппет учета online пользователей. :)
Он имеет несколько параметров:
Полная документация.
Версия 2.0.0. Статистика по пользователям.
Вызывается сниппетом siteStatistics и может работать в двух режимах — page и site.
[[!siteStatistics? &mode=`site`]]
Режим page отвечает за статистику страницы (ресурса), а режим site, соответственно, за статистику всего сайта. По умолчанию указан режим page.Режим статистики страницы
Сниппет в этом режиме показывает количество посещений или просмотров конкретного ресурса. Указываем в шаблоне или чанке
// Показывает количество просмотров
[[!siteStatistics? &resource=`[[*id]]`]]
или так
//Показывает количество посещений
[[!siteStatistics? &resource=`[[*id]]` &show=`users`]]
В принципе, в данном случае параметр resource можно не указывать, текущий ресурс подхватывается автоматически. А нужен этот параметр для просмотра статистики произвольного ресурса.Например, в шаблоне новостей указываем
[[!siteStatistics? &resource=`[[+id]]`&count=``]]
и получаем такой блокЕще важный параметр — count. Он определяет период статистики и принимает следующие значения
- '' (пустое значение) — Показывает полную статистику без ограничений по периодам. Пример на предыдущей картинке.
- «byday» — Показывает данные за день. Как в Яндекс.Метрике
- «bymonth» — Показывает данные за месяц.
- «byyear» — Показывает данные за год.
Следующий параметр date. Он указывает, на какую дату выводить статистику. Если не указана, то берется текущая. Формат с учетом параметра count: для «byday» — «YYYY-mm-dd», для «bymonth» — «YYYY-mm», для «byyear» — «YYYY».
Параметр show принимает 2 значения — views и users. Если указан views, то выводится количество просмотров (указан по умолчанию). Если users — то количество посещений.
Параметр toPlaceholders используется для сохранения данных о просмотрах и посещениях в плейсхолдеры [[+stat.views]] и [[+stat.users]] соответственно.
[[!siteStatistics? &toPlaceholders=`1`]]
<div>Просмотры: [[+stat.views]]</div>
<div>Посещения: [[+stat.users]]</div>
Режим статистики сайта
В этом режиме показывается статистика всего сайта. Ставим вызов сниппета в футере
// Дневная статистика
[[!siteStatistics? &mode=`site` &count=`byday`]]
и получаем что-то типа такогоЧто-то это напоминает :) Нужно поменять дизайн — меняем шаблон, указанный в параметре tpl.
Административная часть
Как видно по картинке — возможностей для фильтра вполне хватает. Чекбокс «Общая статистика» включает/отключает режим просмотра статистики всего сайта. Текущую запись можно удалить. Так можно очистить статистику у конкретного объекта в конкретный день или у всего сайта вообще или только в указанный период. В общем, ничего сложного.
Но это еще не всё. Если вы закажете этот продукт прямо сейчас, то получите совершенно бесплатно сниппет учета online пользователей. :)
[[!siteOnlineUsers?]]
Он имеет несколько параметров:
- ctx — контекст, в котором считать пользователей. По-умолчанию считает во всех.
- toPlaceholder — тут указываем имя плейсхолдера, в который будет сохранятся вывод.
- tpl — шаблон для вывода.
- stat.online_time — Время (в минутах), по истечении которого будет считаться, что пользователь ушел. По-умолчанию 15 минут.
- stat.enable_statistics — Включает ведение статистики сайта.
- stat.count_online_users — Включает подсчет пользователей пользователей на сайте. По-умолчанию отключен.
Полная документация.
Версия 2.0.0. Статистика по пользователям.
Поблагодарить автора
Отправить деньги
Комментарии: 64
Круто!
1. А сколько он будет стоить?
2. «Если вы закажете этот продукт прямо сейчас, то получите совершенно бесплатно сниппет учета online пользователей. :)» — а потом этот сниппет будет тоже платным отдельно или вообще не будет нигде?
1. А сколько он будет стоить?
2. «Если вы закажете этот продукт прямо сейчас, то получите совершенно бесплатно сниппет учета online пользователей. :)» — а потом этот сниппет будет тоже платным отдельно или вообще не будет нигде?
490 руб. Но прошу не для себя, брат Митька помирает, ухи просит. :))
а потом этот сниппет будет тоже платным отдельно или вообще не будет нигде?Это просто шутка :)
Нужная штука! Надо будет закупить на свои проекты.
Как предложение для развития — способность компонента отправлять на указанные емейлы периодические отчеты. Это довольно удобно, — не нужно никуда заходить, чтобы посмотреть статистику.
Как предложение для развития — способность компонента отправлять на указанные емейлы периодические отчеты. Это довольно удобно, — не нужно никуда заходить, чтобы посмотреть статистику.
Наверно удобно. А пока думаю мысль про диаграммы.
Здесь богатое поле для прикручивания новых возможностей :) Например, в свете моего предложения — также считать рост/падение по отношению к прошлому периоду. Можно следить за динамикой, не высчитывая это вручную.
Единственное, чтобы это не тормозило заметно компиляцию и загрузку страниц.
Единственное, чтобы это не тормозило заметно компиляцию и загрузку страниц.
Так вся аналитика в админке, а там и так всё неторопливо работает.
Один хрен Я.Метрика и Google Analytics рулят. Не вижу смысла городить огород из счётчиков + базу засирать ненужно инфой.
Но Я.Метрика и аналитика от Гугла не дадут возможности сортировать новости по популярности и т.п., а тут, если я правильно понимаю, такая возможность есть. Т.е. это тот же HitsPage, но сильно «жирнее» и мощнее)
если я правильно понимаю, такая возможность есть.Такая возможность есть!
Если это очень нужно, то можно юзать API tech.yandex.ru/metrika/
API tech.yandex.ru/metrika/ -да, для того, что бы восполнить отсутствие данных о посещении страниц до установки компонента, а потом логичнее юзать [siteStatistics]. Ибо для выборки популярных статей все время обращаться к Метрике, что то мне кажется это неправильным.
Я не представитель Яндекса и тоже не заставляю его юзать. Своё мнение я оставил выше. Ты хочешь меня переубедить?
Я вот не считаю, что они рулят
Поэтому компонент очень нужный! Главное что бы был безопасным во всех отношениях
Госдума просит Роскомнадзор проверить шпионские возможности Google
Персональные данные россиян, материалы обращений граждан в госорганы оказываются доступными для сторонних фирм. Утечка данных может происходить, если на страницах официальных сайтов используются счетчики посещаемости от сторонних производителей — Google, «Яндекса» и др. Об этом говорится в письмах члена комитета Госдумы по безопасности и противодействию коррупции Ильи Костунова, направленных генпрокурору РФ Юрию Чайке, главе Роскомнадзора Александру Жарову и министру экономического развития Алексею Улюкаеву. Депутат просит проверить защищенность данных граждан от несанкционированного сбора через интернет-счетчики, а также запретить использование на государственных сайтах счетчиков от компаний из недружественных к России стран.
Поэтому компонент очень нужный! Главное что бы был безопасным во всех отношениях
Рулят они по по техническим возможностям, а не по полит.взглядам.
Может теперь и Инет запретить, нахер он нужен в Russian Federation, это ведь тоже инструмент шпиона в умелых руках.
Может теперь и Инет запретить, нахер он нужен в Russian Federation, это ведь тоже инструмент шпиона в умелых руках.
Отличное дополнение. В Tickets правда есть уже TicketViews с теми же возможностями сортировки и т.п. (кроме админки), но Tickets уже монстр, а тут одним компонентом, идеологически имхо правильнее.
Только вот платность любых мало-мальски полезных компонентов напрягает, наверное поэтому modx.com не делает платных репов, не хватает в последнее время альтруизма в разработчиках)
Только вот платность любых мало-мальски полезных компонентов напрягает, наверное поэтому modx.com не делает платных репов, не хватает в последнее время альтруизма в разработчиках)
Так Tickets вроде не считает обычные ресурсы.
Только вот платность любых мало-мальски полезных компонентов напрягает, наверное поэтому modx.com не делает платных репов, не хватает в последнее время альтруизма в разработчиках)Ну не знаю, меня не напрягает. За хорошую вещь совсем не жалко заплатить — отблагодарить автора. Это еще и стимулирует автора поддерживать и развивать продукт. Вот например, в modx.com сколько уже мертвяков висит. Тот же HitsPage или modxTalks давно уже не поддерживаются. Тем более, что есть бесплатная альтернатива (более 600 дополнений на modx.com), а стоимость символическая — это тебе не 79 евро у modmore.com. У modstore.pro дороже 2 тыс. дополнений нет. Тем более, что дополнения покупаются как правило не для себя, а для заказчика и за деньги, за немалые причем :)
Так Tickets вроде не считает обычные ресурсы.Считает. Даже гостей считает, если включить.
Точно, я это оказывается знал. Просто забыл :)
Только вот платность любых мало-мальски полезных компонентов напрягает, наверное поэтому modx.com не делает платных репов, не хватает в последнее время альтруизма в разработчиках)Ну а бешеная активность в магазине и почти ежедневные анонсы тебя не радуют?
Бесплатные дополнения, в основном, синоним «нате вам, сами разбирайтесь». Такого полно в modx.com, да.
Очень интересно как идут дела в магазине спустя еще год)
modx.pro/store/3336-store-store-simpledream-en-turned-one-year/
modx.pro/store/3336-store-store-simpledream-en-turned-one-year/
Как минимум все показатели в двухкратном размере по сравнению с предыдущем годом))
Бандероль в магазин уже отправил.Бандероль до магазина так и не доехала? Или я не там искал…
Видимо, отпуска начались.
Пожалуйста подскажите, а как посчитать количество возвратов пользователя?
Сколько раз он заходил на сайт за месяц например или за все время. Причем он может не авторизовываться постоянно а хранится данные в сессии.
Сейчас это пытаюсь подсчитывать через аналитику, когорты и тп.
Нужно как бы подсчитать и вычислить ядро пользователей сайта.
Сколько раз он заходил на сайт за месяц например или за все время. Причем он может не авторизовываться постоянно а хранится данные в сессии.
Сейчас это пытаюсь подсчитывать через аналитику, когорты и тп.
Нужно как бы подсчитать и вычислить ядро пользователей сайта.
Для этого есть специальные инструменты. Те же Я.Метрика и Google Analytics. Вообще, про это лучше спросить специалистов в этой области.
Разместил в modstore.pro: modstore.pro/packages/utilities/sitestatistics
Грасиас, сеньор! Только в блоках code какие-то странные спаны образовались
//Вместо
[[!siteOnlineUsers?]]
//Получилось
<span class="pun">[[!</span><span class="pln">siteOnlineUsers</span><span class="pun">?]]</span>
Спасибо, поправил!
Но не всё :)
надеюсь теперь всё
Почти :)
Версия 1.0.0-pl, а не бета.
П.С. А когда Леонид вернется?
Версия 1.0.0-pl, а не бета.
П.С. А когда Леонид вернется?
Готово!
Через недельку :)
Через недельку :)
Обновление 1.0.2. Добавил вкладку «Текущие пользователи», отображающую список пользователей, находящихся в данный момент на сайте. Для авторизованных выводится имя из профиля, а для неавторизованных просто «Гость».
Хорошо бы в StatOnlineUsers писать и id ресурса, тогда можно онлайн определенной группы страниц вывести)
Хорошо бы.
Подскажите, &frontend_css=`` не работает?
И как избавится от подключаемых стилей?
И как избавится от подключаемых стилей?
Пока никак. Можно поправить класс siteStatistics::initialize().
Извините, а где это нужно сделать?
Можно сделать проще, удалите всё из подключаемого файла стилей.
Илья, это можно сделать в «Системные настройки», это там где шестерёнка в правом верхнем углу админки MODX.
Чтобы быстрее найти сам параметр, который нужно заменить, в фильтрах поменяйте «core» на «sitestatistics» и появившихся параметрах, напротив параметра «stat.frontend_css» удалите путь (в колонке — Значение), оставьте его пустым или пропишите путь к своему файлу. Если оставить пустым, то в head не будет вписываться строка со стилем.
Чтобы быстрее найти сам параметр, который нужно заменить, в фильтрах поменяйте «core» на «sitestatistics» и появившихся параметрах, напротив параметра «stat.frontend_css» удалите путь (в колонке — Значение), оставьте его пустым или пропишите путь к своему файлу. Если оставить пустым, то в head не будет вписываться строка со стилем.
Хочу сделать сортировку товара по самым популярным примерно так:
[[msProducts?
&parents=`7`
&limit=`9`
&tpl=`buildTop`
&includeThumbs=`360x270,1024x768`
&showZeroPrice=`0`
&showHidden=`0`
&sortby=`[[!siteStatistics? &resource=`[[+id]]` &show=`users`]]`
]]
Но это не работает, помогите пожалуйста
Подскажите, пожалуйста как сделать фильтр по «siteStatistics» для msProducts или mFiltrs
Статистика ресурса ведется в разрезе дня и пользователя. Т.е. надо не просто заджойнить, но и сгруппировать. Запрос очень не простой. С лёту написать я не готов.
Сергей, подскажите пожалуйста. можно ли реализовать с помощью этого дополнения вывод количества скачанных файлов? Сами файлы добавляются через ms2Gallery. Хотя, не обязательно
Ведётся статистика ресурсов. Файлы к ним не относятся. Поэтому siteStatistics не подойдёт.
Посоветуйте пожалуйста на что лучше обратить внимание?
Пока на виду только FileDownloadR, но похоже что он устарел и глючит (судя по отзывам и коментам).
Спасибо!
Пока на виду только FileDownloadR, но похоже что он устарел и глючит (судя по отзывам и коментам).
Спасибо!
А данный плагин умеет помимо посещений фиксировать источник трафика (URL) и UTM-метки? И есть ли возможность вытащить эти данные и например вставить их в данные формы или заказа?
Сама по себе просто статистика посещений мало что дает, а вот метки и рефереры очень бы пригодились.
Сама по себе просто статистика посещений мало что дает, а вот метки и рефереры очень бы пригодились.
siteStatictics не является альтернативой Google.Analytics и и Яндекс.Метрики. Он ведёт:
— статистику посещений и просмотров ресурсов, которую можно использовать для сортировки ресурсов по популярности;
— статистику посещений пользователей.
Ещё он показывает пользователей, которые в текущий момент находятся на сайте. Вот ссылка на полную документацию с описанием всех возможностей компонента.
— статистику посещений и просмотров ресурсов, которую можно использовать для сортировки ресурсов по популярности;
— статистику посещений пользователей.
Ещё он показывает пользователей, которые в текущий момент находятся на сайте. Вот ссылка на полную документацию с описанием всех возможностей компонента.
И есть ли возможность вытащить эти данные и например вставить их в данные формы или заказа?UTM-метки — это get параметры. Работать с ними можно как на уровне PHP, так и на уровне Fenom. siteStatistics не ведёт отдельный учёт по этим меткам. Для этого есть гугл и яндекс.
Открыл для себя siteStatistics. В полном восторге! Очень просто добавляется и настраивается. А ещё и примеров куча. Спасибо автору!
Есть ли еще метод проще и быстрее, который будет выводить id ресурса и количество посмотревших пользователей? Не слишком шарю в запросах к БД, возможно что-то лишнее:
{'!pdoResources' | snippet : [
'loadModels'=>'siteStatistics',
'parents'=>15,
'limit'=>0,
'tpl'=>'@INLINE {$id} - {$users}
',
'leftJoin'=>'{
"Statistics": {
"class": "PageStatistics",
"on": "modResource.id = Statistics.rid"
}
}',
'select'=>'{
"modResource": "id",
"Statistics": "COUNT(DISTINCT user_key) as users"
}',
'groupby'=>'modResource.id',
'showLog'=>1
]}
Сергей, добрый вечер! У вас в примерах на Вашем сайте есть пример вывода статистики текущего пользователя:
Без вот этой строчки ресурсы выводятся:
[[!pdoResources?
&parents=`0`
&tpl=`@INLINE <p>[[+pagetitle]].</p>`
&loadModels=`sitestatistics`
&innerJoin=`{
"Statistics":{"class":"PageStatistics","on":"modResource.id=Statistics.rid"}
}`
&select=`DISTINCT modResource.pagetitle`
&where=`{"Statistics.user_key": "[[+sitestatistics.userKey]]"}`
&sortby=`Statistics.date`
&limit=`5`
]]
Я ни как не могу добиться вывода ресурсов с этой конструкцией.Без вот этой строчки ресурсы выводятся:
&where=`{"Statistics.user_key": "[[+sitestatistics.userKey]]"}`
Понятно что -дело в [[+sitestatistics.userKey]]. Ни понятно откуда она берется?
А не феном?
Переделал на феном
Лог дает вот такой результат
Если этот же запрос выполнить напрямую в MySQL но в значение подставить какой нибудь user_key из таблицы — то ресурсы выводятся
{'!pdoResources' | snippet : [
'parents'=>0,
'tpl'=>'@INLINE {$pagetitle}',
'loadModels'=>'sitestatistics',
'innerJoin'=>'{
"Statistics":{"class":"PageStatistics","on":"modResource.id=Statistics.rid"}
}',
'select'=>'DISTINCT modResource.pagetitle',
'where'=>'{"Statistics.user_key": "{$sitestatistics.userKey}"}',
'sortby'=>'Statistics.date',
'limit'=>5,
'showLog'=>1
]}
Результат тот жеЛог дает вот такой результат
0.0000341: Loaded model "siteStatistics" from "/core/components/sitestatistics/model/"
0.0000300: pdoTools loaded
0.0000110: xPDO query object created
0.0000789: innerJoined PageStatistics as Statistics
0.0000072: Added selection of modResource: DISTINCT modResource.pagetitle
0.0000072: Processed additional conditions
0.0000849: Added where condition: Statistics.user_key=, modResource.published=1, modResource.deleted=0
0.0000300: Sorted by Statistics.date, DESC
0.0000010: Limited to 5, offset 0
0.0001602: SQL prepared "SELECT DISTINCT modResource.pagetitle FROM `lBA0zBh6yPt3_site_content` AS `modResource` JOIN `lBA0zBh6yPt3_stat_page_statistics` `Statistics` ON modResource.id=Statistics.rid WHERE ( `Statistics`.`user_key` = '' AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY Statistics.date DESC LIMIT 5 "
0.0012300: SQL executed
0.0000060: Rows fetched
0.0000010: Returning processed chunks
0.0017328: Total time
4 194 304: Memory usage
Значение `Statistics`.`user_key` = '' — пустое.Если этот же запрос выполнить напрямую в MySQL но в значение подставить какой нибудь user_key из таблицы — то ресурсы выводятся
Михаил, в первом варианте я дал намёк — проблема в феном.
Второй вариант, переделанный на феном, невалидный.
Судя по всему у Вас нет опыта работы с феномом. У него есть одна неприятная особенность — он обрабатывает все фигурные скобки, включая те, которые ему не предназначены.
Т.е. у Вас в обоих случаях проблема в where. В первом случае — фигурная скобка, во втором — невалидный код. Вас не смущает имя переменной $sitestatistics.userKey? В PHP так нельзя называть переменные. Это плейсхолдер. Кроме того, фигурные скобки внутри тега Fenom указывать уже не нужно. Дальше справитесь?
Второй вариант, переделанный на феном, невалидный.
Судя по всему у Вас нет опыта работы с феномом. У него есть одна неприятная особенность — он обрабатывает все фигурные скобки, включая те, которые ему не предназначены.
Т.е. у Вас в обоих случаях проблема в where. В первом случае — фигурная скобка, во втором — невалидный код. Вас не смущает имя переменной $sitestatistics.userKey? В PHP так нельзя называть переменные. Это плейсхолдер. Кроме того, фигурные скобки внутри тега Fenom указывать уже не нужно. Дальше справитесь?
Сергей, спасибо за ответ! Действительно не увидел, что вы написали «а НЕ феном?»
Я прочитал как «а НА феном»))
Да, с фигурными скобками я погорячился) Это привычка менять [[ на { при переделывании на феном.
Но я все равно не могу понять откуда берется значение в плейсхолдере [[+sitestatistics.userKey]]
И на сколько я понимаю в версии с феномом нужно сначала задать переменную и потом ее вызвать в сниппите.
такой вариант не срабатывает:
Я прочитал как «а НА феном»))
Да, с фигурными скобками я погорячился) Это привычка менять [[ на { при переделывании на феном.
Но я все равно не могу понять откуда берется значение в плейсхолдере [[+sitestatistics.userKey]]
И на сколько я понимаю в версии с феномом нужно сначала задать переменную и потом ее вызвать в сниппите.
такой вариант не срабатывает:
var $userkey = [[+sitestatistics.userKey]]
Всё за вас молодых делать нужно
'where'=>'{"`Statistics`.`user_key`": "' ~ $_pls["sitestatistics.userKey"] ~ '"}',
Сам плейсхолдер добавляется в классе siteStatistics при загрузке страницы.
Так тоже пусто
в логе вот это
в логе вот это
0.0000820: Added where condition: `Statistics`.`user_key`=, modResource.published=1, modResource.deleted=0
Заработало в таком виде:
Убрал лишние одинарные ковычки
Убрал лишние одинарные ковычки
'where'=>'{"`Statistics`.`user_key`": " ~ $_pls["sitestatistics.userKey"] ~ "}',
Спасибо за подсказку
Только дошло. Видимо вы прочитали мой комментарий «А на феном?». А я имел ввиду, не феном ли виноват.
Именно так и прочитал) О чем и написал modx.pro/components/5750#comment-105131
Добрый день!
[[!siteStatistics? &resource=`[[*id]]`]]
Постоянно получаю ошибку в журнале:
[2023-10-03 18:14:06] (ERROR @ .../core/components/sitestatistics/services/sitestatistics.class.php: 243) [siteStatistics] Could not add page statistics.
[2023-10-03 18:20:33] (ERROR @ .../core/xpdo/om/xpdoobject.class.php: 1452) Error 23000 executing statement:
INSERT INTO `modx_stat_page_statistics` (`rid`, `user_key`, `date`, `month`, `year`, `views`) VALUES (95, 'd282b0b707f6a6e0c2af58018eef14fa', '2023-10-03 00:00:00', '2023-10', '2023', 1)
Array
(
[0] => 23000
[1] => 1062
[2] => Duplicate entry '2023' for key 'year'
)
Как исправить?
[[!siteStatistics? &resource=`[[*id]]`]]
Постоянно получаю ошибку в журнале:
[2023-10-03 18:14:06] (ERROR @ .../core/components/sitestatistics/services/sitestatistics.class.php: 243) [siteStatistics] Could not add page statistics.
[2023-10-03 18:20:33] (ERROR @ .../core/xpdo/om/xpdoobject.class.php: 1452) Error 23000 executing statement:
INSERT INTO `modx_stat_page_statistics` (`rid`, `user_key`, `date`, `month`, `year`, `views`) VALUES (95, 'd282b0b707f6a6e0c2af58018eef14fa', '2023-10-03 00:00:00', '2023-10', '2023', 1)
Array
(
[0] => 23000
[1] => 1062
[2] => Duplicate entry '2023' for key 'year'
)
Как исправить?
Тоже бывает такая ошибка, интересно было бы знать на что ругается…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.