Проверка ID номеров на действительность

Здравствуйте, друзья! Прилетела задача… Реализовать на ModX Revo.
Проверка ID номеров по серии и номеру на действительность.

Например:
Пользователь вводит…
Серия: АА Номер: 0000001 — Сообщение: Действителен\Не действителен

Вроде бы ничего сложного… Но в административной части начинается самое интересное.
Нужно как-то, где-то в админке отобразить статистику, сколько раз такая-то серия и номер в такой-то день были проверены на сайте. С возможностью выгрузить эту таблицу в Excel.

Пример.
АА 0000001 — Проверен 01.02.2015 (3 раза)

Добрые люди, подскажите пожалуйста у кого какие идеи есть?
Я сначала подумал про SimpleSearch — сделать поиск через него с фильтром только по одной папке из Ресурсов, где будут перечислены все эти Серии и Номера — созданные в виде ресурсов.
Но может есть способ более правильно это все организовать…
Буду признателен за любые идеи, спасибо!
Сергей Глазунов
28 января 2015, 13:15
modx.pro
1 339
0

Комментарии: 9

Наумов Алексей
28 января 2015, 16:23
+1
Серия и номер это ресурсы обязательно?

Лучше сделать отдельную таблицу под них, а запросы хранить в еще 1 таблице, структуру ее сделать типа:
дата, запрос, найден(да/нет), id найденого номера
    Сергей Глазунов
    28 января 2015, 16:30
    0
    Нет, не обязательно. В любой удобной вариации, главное, чтоб добавлять их можно было.
    Логично, согласен. Только я пока слабо представляю, как это реализовать. С созданием новых таблиц на модкс еще не сталкивался…
      Наумов Алексей
      28 января 2015, 16:33
      1
      0
      Весьма просто (если опыта нет) это можно сделать с использованием MIGx db.
      И весь интерфейс в админке будет доступен (ну кроме функций экспорта, это придется дописать).

      Почитай эту статью rtfm.modx.com/extras/revo/migxdb/migxdb.tutorials/migxdb.create-a-basic-gallery-management-from-scratch-with-migxdb и статьи рядом в этом разделе.
        Сергей Глазунов
        28 января 2015, 16:38
        0
        Благодарю, Алексей за наводку! Сейчас буду изучать.
          Наумов Алексей
          28 января 2015, 16:44
          0
          Если своими словами:
          1. делаем xml схему
          2. На ее основе через migx: а) создаем компонент, б) парсим классы, в) создаем таблицы
          3. Так же через migx настраиваем интерфейс, настроек там много, но все делается визуально, он сохраняется как конфигурация
          4. создаем TV с типом migxdb, указываем ему id конфигурации с прошлого шага, назначаем шаблону, и создаем ресурс с этим шаблоном

          в примере по ссылке выше есть поле resource_id, по нему идет автоматическая привязка записей к текущему ресурсу, я всегда это использовал…

          по идее после всего этого при редактировании ресурса будет доступна табличка с вашими записями, которые можно добавлять, удалять, изменять
            Сергей Глазунов
            28 января 2015, 16:53
            0
            Приблизительно понял. О Migx слышал, но не работал с ним еще — пришло время знакомиться. На словах звучит вроде не очень страшно…
              Сергей Глазунов
              01 февраля 2015, 02:24
              0
              Я в замешательстве…
              Сделал схему:
              <?xml version="1.0" encoding="UTF-8"?>
              <model package="randomnumber" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
                      <object class="Randomnumbers" table="randomnumber" extends="xPDOSimpleObject" >
              			<field key="serial" dbtype="varchar" precision="2" phptype="string" null="false" default="" />
              			<field key="id_number" dbtype="varchar" precision="7" phptype="string" null="false" default="" />
              			<field key="active" dbtype="int" precision="1" attributes="unsigned" phptype="integer" null="false" default="1" />
              			<field key="data_hits" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
              			<field key="hits" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
                      </object>
              </model>
              Настроил все в MIGx, создает таблицу, ее можно заполнить, но снять с публикации или удалить запись в таблице нельзя и при редактирование уже созданной записи все пусто. Я где то ошибся в настройках MIGx или не правильно схему сделал?

              Потом сделал все в точности по этому видео: Все работает.
              youtu.be/Dv83iC9iELI
              В этой же рабочей таблице изменил названия полей на свои, естественно не трогая поля fields, менял только названия (Name на Серия, Email на Номер) остальное оставил, как есть… И таблица перестала работать, как и моя первая — не снять с публикации, не удалить, не отредактировать.

              Нужен совет…
                Сергей Глазунов
                01 февраля 2015, 03:13
                0
                Нашел ошибку… не добавил поле id в таблицу из за этого все не работало.
      Сергей Глазунов
      03 февраля 2015, 19:01
      0
      Подскажите пожалуйста, как написать снипет проверки номера на действительность со статистикой?
      Как определить, сколько раз проверяли Серию и Номер по дате?
      Пример.
      АА 0000001 — Проверен 01.02.2015 (3 раза)
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9