Для одного з проектів, який був зроблений на базі CMS MODX Evolution, мені необхідно було організувати висновок списку товарів з файлу в форматі CSV на сторінку у вигляді HTML-коду. У цьому мені допоміг сниппет CSV2HTML, який я знайшов в сховище на офіційному сайті MODX. Там же ви можете знайти опис та інструкцію по встановленню сниппета. Нижче наводжу свою коротку інструкцію.
Установка сниппета CSV2HTML
В панелі адміністрування сайту (нагадую, що у мене сайт зроблений на MODX EVO) створюємо новий сниппет з ім'ям csv2html і вставляємо в нього наступний код:
Висновок на сторінку даних сниппета CSV2HTML
Висновок вмісту документа в форматі CSV здійснюється наступною конструкцією:
Проблема з кодуванням в даних, що виводяться на сторінку
Швидше за все ви зіткнулися б з проблемою в кодуванні виведеного тексту з файлу, якби використовували код сниппета з офіційного сайту. Для виправлення цієї помилки необхідно було внести наступні зміни до початкового коду:
Зверніть увагу, що у вихідному коді таких рядків дві
Код сниппета, який вказаний у мене вище, вже містить корективи. Вносити коректування немає необхідності.
Тепер, коли дані з таблиці у нас виводяться на сторінці, організуємо пошук по сторінці.
Організація пошуку тексту по сторінці
Код був знайдений на одному з сайтів в інтернеті - джерело.
Код для форми пошуку:
Вихідний код був трохи змінений в частині дизайну: так як сайт створений з використанням фреймворку Bootstrap. тому я використав елементи цього фреймворка для оформлення візуальної частини коду. Ось що у мене вийшло:
Деякі особливості роботи:
- Скрипить шукає точний збіг, або шукає входження запиту в частинах слів
- Всі збіги позначаються маркером
- Сторінка автоматично прокручується до першого збігу
- При введенні нового запиту, елементи сторінки, помічені маркерами з минулого пошуку, повертаються до вихідного оформлення
Даний варіант є досить простим і робочим рішенням якщо вам необхідно вивести таблицю з Excell на сторінку і організувати пошук по ній. У свою чергу, ви можете використовувати і модернізувати даний код для своїх потреб.