IT-companies
April 2011 18

Онлайн размещение документов на сайте

From Sandbox
В наше время, когда Интернет широко шагает по стране, компании все чаще создают собственные сайты. Почти на каждом присутствует информация о ценах на продукцию, услуги и т.д., проще говоря – прайсы. Зачастую прайсы сразу сверстаны в html страницу или дается ссылка на их скачивание. В первом случае хорошо, если на сайте установлена CMS и можно редактировать страницы, а если нет? Во втором, нужно закачать прайс по ftp. Оба случая могут явиться камнем преткновения при обновлении прайса на сайте, если нет собственного вебмастера. Да и копирование информации из готового прайса на сайт, может привести к неточностям и ошибками, особенно если прайс не маленький. А это чревато потерей клиентов. Рассмотрим, как упростить размещение прайсов online. Сразу оговорюсь, что рассматривать мощные системы, где CMS сайта взаимодействует с бухгалтерией компании я не буду.

Многим известно, что существует удобный сервис для размещения и редактирования документов — Google Docs. Он позволяет работать с электронами таблицами, а большинство прайсов представлено именно в этом формате. Почему бы не разместить свой основной прайс в Google Docs и не дать ссылку со своего сайта на его просмотр или вообще внедрить код показа в страницу.
Чем это удобно:
  • Можно редактировать документ из любого места, где есть интернет.
  • Можно скачать документ в формате Excel или сразу распечатать. Т.е. практически отпадает необходимость хранить его локально.
  • Можно дать права на редактирование документа только определенным людям (директор, бухгалтер и т.д.), остальным он доступен только по чтению.
  • При необходимости, документ можно легко обновить, выполнив экспорт товаров и цен из бухгалтерской программы в формате Excel, а затем его импорт в Google Docs.
  • Документ на сайте всегда показывается в актуальном состоянии.
Размещаем документ на Google Docs.

Вариант первый – внедрение кода показа документа в свою страницу
  1. Опубликовываем документ как HTML для встраивания в страницу
  2. Вставляем в свою страницу код для встраивания.
  3. Смотрим что получилось
Но что делать если хочется оформить показ прайса в стилистике дизайна сайта?

Вариант второй – вывод документа при помощи PHP

У Google Docs есть возможность публикации документа в формате CSV (содержимое ячеек электронной таблицы, разделенное запятыми). У PHP есть ф-ция разбора CSV – fgetcsv (у меня он работала некорректно с русским текстом, пришлось подключить сторонний класс разбора CSV).
  1. Опубликовываем документ как CSV.
  2. Скачиваем, разбираем и выводим документ на своей странице при помощи PHP скрипта.
  3. Смотрим что получилось.
Проблема может возникнуть, если на хостинге, где находится сайт запрещено allow_url_fopen, т.е. нет возможности открыть файл по URL с Google Docs.

Вариант третий – вывод документа при помощи javascript

Есть замечательный сервис от Yahoo – YQL (Yahoo Query Language). YQL – SQL подобный язык запросов типа SELECT, подробнее тут, а тут можно посмотреть его в действии. Причем результат можно получить в формате json и вывести при помощи javascript.
  1. Опубликовываем документ как CSV.
  2. Строим запрос, в поле запроса вводим select * from csv where url='https://spreadsheets.google.com/pub?hl=ru&hl=ru&key=0AlqBgmTjbqUpdEdtWkJpVEE4Mkt5XzhYWmluZjdoclE&output=csv' and columns='col1,col2,col3' , выбираем формат json и жмем “test”, если все правильно, то отобразится наш документ. А внизу страницы будет URL запроса для использования в своем скрипте.
  3. Пишем javascript для разбора и вывода документа.
  4. Смотрим что получилось.
Минусом такого метода является недоступность текста документа для индексации поисковиками. К плюсам можно отнести уменьшение нагрузки на хостинг, т.к. документ скачивает и разбирает компьютер пользователя.

Исходные коды примеров реализации тут и тут.

+60
12.2k 120
Comments 31
Top of the day