![]() cms4site™ :: Функциональные модули. Руководство пользователя U41RU
ОГЛАВЛЕНИЕ
ВЫЗОВ ФУНКЦИОНАЛЬНЫХ МОДУЛЕЙФункциональные модули (как стандартные cms4site™, так и пользовательские, написанные разработчиком сайта), вызываются либо из файлов контента (указанием имени модуля с необязательными параметрами), например: xmmsitemap.php INFO ALL либо из файла структуры сайта, при этом файл контента может не потребоваться вообще. Способ вызова из файла структуры сайта должен быть предусмотрен разработчиком. Пример вызова при назначении поля данных data4 в структуре сайта для такого действия: <3>dbcall|Продукция|База данных продукции||||dbprod.php start=0,q=,key=230001 Пользовательские модули помещаются в директорию myphp или ее поддиректории. Дизайн вывода информации в контентную область стандартными модулями назначается разработчиком в настройках этих модулей. Вызов модулей может быть реализован разработчиком непосредственно в шаблоне страниц сайта. Например, для всех страниц уровня 3 и выше в области под контентом вызывать модуль xmmprevnext.php (предыдущий/следующий). Параметры стандартных модулей задаются, как правило, прописными буквами ('ALL' но не 'all') или цифрами и отделяются пробелом (показано далее в описании модулей).
XMMSEARCH - ПОИСК ПО САЙТУМодуль обеспечивает поиск по основным файлам контента на основе структуры сайта. Дополнительные файлы данных, а также файлы контента страниц, недоступные при данном уровне авторизации (если применено), в поиске не участвуют. Закомментированные строки в файлах контента также игнорируются. xmmsearch.php ALL ALL - задает поиск по всем языковым версиям сайта, если этот параметр не указан, то поиск идет только по текущей языковой версии. В поле для поиска можно задавать один или несколько не менее чем двухбуквенных фрагментов слов. Назначается способ поиска по нескольким словам (и/или). Специальные знаки игнорируются. Словоформы не обрабатываются. Результаты поиска сортируются по релевантности. XMMSITEMAP - КАРТА САЙТАМодуль выводит карту сайта с различной степенью детализации, с учетом языковых версий и авторизации. Закомментированные страницы игнорируются всегда. xmmsitemap.php ALL level JUMP ALL - задает вывод для всех языковых версий (текущая - первой), не задано (если нет следующих далее параметров) или ONLY - только текущая; level - (число) ограничение по уровню вложенности, например, 3 - страницы уровня 4 и более - не выводятся; JUMP - страницы переходов также делаются ссылками (полезно при ограничении по уровню). Примеры: xmmsitemap.php - текущая языковая версия, полная карта xmmsitemap.php ALL - все языки, полная карта xmmsitemap.php ONLY 9999 JUMP - текущий язык, полная (нереальное число), все переходы тоже ссылки xmmsitemap.php ALL 2 JUMP - все языки, только до уровня 2, переходы - ссылки XMMCOLLECT - ВНУТРЕННЕЕ МЕНЮМодуль позволяет вывести в области контента подменю следующего уровня или произвольное меню (выборку) любых страниц сайта, подобранных по определенному критерию. Позволяет развивать сайт в глубину, не прибегая к модернизации навигационной системы. При выборке учитываются языковая версия и авторизация. xmmcollect.php dataN label ALL INFO NOBRANCH dataN - (число) определяет поле данных в структуре сайта по которому производится выборка; label - значение этого поля; ALL - выборка из всех языковых версий, ONLY - только из текущей версии (для произвольной выборки); INFO - выводить в оглавлении не только имена страниц, но и описание, может стоять первым, если три предыдущих опущены; NOBRANCH - выводить только имена страниц, а не их ветки (для произвольной выборки); Порядок следования ALL, INFO, NOBRANCH может быть любым. Примеры: xmmcollect.php - меню следующего уровня для текущей страницы xmmcollect.php INFO - то же, с описанием страниц xmmcollect.php 1 PRICE - выборка страниц, помеченных в структуре сайта PRICE в поле data1, текущий язык, выводятся ветки страниц xmmcollect.php 1 PRICE ALL INFO - то же, все языки, с описанием страниц, выводом веток xmmcollect.php 3 DOC - выборка страниц, помеченных в структуре сайта DOC в поле data3, текущий язык, ветки xmmcollect.php 3 DOC NOBRANCH - то же, с выводом только имен страниц
XMMPREVNEXT - ПРЕДЫДУЩИЙ/СЛЕДУЮЩИЙМодуль организует навигацию по страницам одного уровня, позволяя перейти к предыдущей, следующей и старшей странице, например: < Заголовки | Ссылки | Таблицы > < Заголовки | Контент | Таблицы > < Заголовки ||| Таблицы > xmmprevnext.php NOTOP xmmprevnext.php SHORT NOTOP - вместо ссылки к старшей странице выводится имя текущей; SHORT - короткая ссылка к старшей странице (без имени). XMMTOPLEVEL - ВЕТКА СТРАНИЦЫ ИЛИ ПЕРЕХОД К СТАРШЕЙМодуль предназначен для построения перехода к старшей странице или ветке страницы с переходами на любой уровень, например: Главная > Продукция > Приборы > Промышленные > А200 xmmtoplevel.php parameter name parameter - определяет действие: BRANCH - построение ветки страницы, * - переход к верхнему уровню, число - на сколько уровней вверх перейти; name - необязательное имя для страницы верхнего уровня, например, Главная. Примеры: xmmtoplevel.php - переход на один уровень выше xmmtoplevel.php BRANCH Главная - построение ветки с присвоением имени главной странице xmmtoplevel.php * Начало - переход к главной странице с присвоением ей имени xmmtoplevel.php 2 - переход на 2 уровня выше XMMINNER - НАВИГАЦИЯ ПО СТРАНИЦЕ И САЙТУМодуль предназначен для построения ссылок внутри одной страницы (внутренняя навигация) и между страницами сайта. xmminner.php mode parameters mode - задает конкретное действие, если не указан, генерируется ссылка для перезагрузки текущей страницы; parameters - параметры для заданного действия. Действие PAGE: ссылки на страницы сайта xmminner.php PAGE branch#label text xmminner.php PAGE FLAG#label text PAGE - действие; branch - ветвь страницы, на которую надо сослаться; #label - возможная метка на этой странице; FLAG - отметка страницы в структуре сайта (поле dataN); text - необязательный текст ссылки, если не задан, используется имя страницы. FLAG определяется по всем прописным (большим) буквам. Если указанная страница не найдена, ссылка не генерируется. Разработчик может задать игнорирование текста ссылки для этого случая полностью. Поле dataN для отметки страницы в структуре сайта также определяется разработчиком. Отметка обрабатывается только в текущей языковой части сайта, при повторяющихся отметках находится первая. Если для PAGE ничего не задано, генерируется ссылка на начало сайта.
Примеры: xmminner.php PAGE en-products-akka xmminner.php PAGE en-products-akka New product AKKA available now! xmminner.php PAGE en-download#AKKA Download it now! xmminner.php PAGE AKKA New product AKKA xmminner.php PAGE AKKA#TOC xmminner.php PAGE AKKA xmminner.php PAGE NB! Описанные далее действия LABEL, LINK, STARTTOC, LINKTOC и ENDTOC достаточно сложны, однако за ними следует пример их совместного использования. Действие LABEL: внутренняя метка на странице Формирует невидимую метку с именем, на которую может позиционироваться окно броузера при запросах вида xmminner.php LABEL name text name - уникальное на данной странице имя для метки; text - необязательный текст для метки, не печатается, если задано . Если предварительно формировалось оглавление, пустое поле text будет заменено на указанное в оглавлении, по соответствию name, при непустом поле используется только оно. Примеры: xmminner.php LABEL E16 Features in brief xmminner.php LABEL E10 xmminner.php LABEL E17 Действие LINK: ссылка на метку Задает строку, являющуюся ссылкой на указанную метку, созданную на этой странице действием LABEL. xmminner.php LINK name text name - имя метки; text - текст для ссылки. Действие STARTTOC: начало оглавления Аналогично LABEL, но формируется метка для переходов к оглавлению, кроме этого начинается построение оглавления. xmminner.php STARTTOC name text name - уникальное на данной странице имя для метки; text - необязательный текст для метки. Действие LINKTOC: элемент оглавления Задает строку оглавления, являющуюся ссылкой на указанную далее метку. xmminner.php LINKTOC name text name - имя метки, которая должна быть создана действием LABEL; text - текст для строки оглавления, который может использоваться и в действии LABEL (не нужно повторять текст заголовка). Действие ENDTOC: конец оглавления Завершает построение оглавления. xmminner.php ENDTOC
Пример организации оглавления страницы Каждая глава оканчивается действием LINK, ведущим обратно к оглавлению. Этот пример можно скопировать в контентный файл и начать собственную разметку с него в качестве образца. xmminner.php STARTTOC TOC555 Table of contents xmminner.php LINKTOC ITEM1 The Misty Morning xmminner.php LINKTOC ITEM2 Sunset in Red xmminner.php LINKTOC ITEM3 Pinky Clouds xmminner.php LINKTOC ITEM4 The Wind Will Come Tomorrow xmminner.php ENDTOC xmminner.php LABEL ITEM1 Any portion of text paragraphs etc. that describe The Misty Morning. xmminner.php LINK TOC555 ^toc xmminner.php LABEL ITEM2 Another heading for Sunset in Red Any portion of text paragraphs that describe Sunset in Red. xmminner.php LINK TOC555 ^toc xmminner.php LABEL ITEM3 Any portion of text paragraphs that describe Pinky Clouds. xmminner.php LINK TOC555 ^toc xmminner.php LABEL ITEM4 Any portion of text paragraphs that describe The Wind Will Come Tomorrow. xmminner.php LINK TOC555 ^toc Этот же пример в действии, ссылки подчеркнуты, приведены комментарии. Количество текста увеличено. Обратите внимание на автоматически сформированные заголовки и замененный заголовок второго раздела: Перед первой пунктирной линией находится метка ТОС555 Table of contents The Misty Morning Здесь метка ITEM1 Any portion of text paragraphs etc. that describe The Misty Morning. Any portion of text paragraphs etc. that describe The Misty Morning. Any portion of text paragraphs etc. that describe The Misty Morning. ^toc Ссылка на метку оглавления ТОС555 Another heading for Sunset in Red Здесь метка ITEM2 Any portion of text paragraphs that describe Sunset in Red. Any portion of text paragraphs that describe Sunset in Red. Any portion of text paragraphs that describe Sunset in Red. Any portion of text paragraphs that describe Sunset in Red. ^toc Ссылка на метку оглавления ТОС555 Pinky Clouds Здесь метка ITEM3 Any portion of text paragraphs that describe Pinky Clouds. Any portion of text paragraphs that describe Pinky Clouds. ^toc Ссылка на метку оглавления ТОС555 The Wind Will Come Tomorrow Здесь метка ITEM4 Any portion of text paragraphs that describe The Wind Will Come Tomorrow. Any portion of text paragraphs that describe The Wind Will Come Tomorrow. Any portion of text paragraphs that describe The Wind Will Come Tomorrow. ^toc Ссылка на метку оглавления ТОС555
Действие TOP: начало страницы xmminner.php TOP text необязательный text становится ссылкой к началу страницы. Пример: xmminner.php TOP ^наверх Действие EMPTY: пустые строки xmminner.php EMPTY how what how - количество пустых строк; what - необязательный текст в пустых строках. Пустые строки могут понадобиться для гарантированного позиционирования последнего параграфа вверху окна броузера. Если параграфы короткие, возможно, что две, три, а то и больше последних ссылок оглавления будут позиционироваться неправильно (броузер упрется в конец страницы), что может показаться худшим вариантом, чем достаточное количество пустых строк в конце. Пример: xmminner.php EMPTY 50 : : : : : XMMDATETIME - ДАТА И ВРЕМЯМодуль выполняет различные функции, связанные с датой и временем. xmmdatetime.php timezone MODE parameter text timezone - задает часовой пояс при выводе локального времени или * при других действиях; MODE - задает выполняемое действие; parameter - задает формат вывода, может содержать список из C,D,T,Z или знак * (все). text - необязательный текст. В примерах дан формат вызова модуля и результат выполнения. Формат вывода даты и времени зависит от текущей языковой версии. Так, русскому 01.01.2005 соответствует английское Действие TZ: местное время в указанной зоне xmmdatetime.php Europe/Moscow TZ * Время в Питере Время в Питере: 11.04.2008 03:27:52 MSD Название часового пояса (временной зоны) берется из таблицы (приведена в документации), используются данные, хранящиеся и обновляющиеся на хостинговом сервере. Вывод производится с учетом летнего времени. Действие GMT: время по Гринвичу xmmdatetime.php * GMT * Время по Гринвичу Время по Гринвичу: 10.04.2008 23:27:52 GMT Действия MOD,MODMAIN: дата модификации текущей страницы xmmdatetime.php * MOD C,D,T,Z Страница обновлена Страница обновлена: 23.01.2007 21:50:59 MSK Выводятся параметры обновления файла контента для данной страницы. MOD - текущего, MODMAIN - основного при вызове модуля в дополнительном файле контента.
Действие CURR: текущее время xmmdatetime.php * CURR C,D Цены действительны на Цены действительны на: 11.04.2008 Действие MY: Локальное время на компьютере посетителя xmmdatetime.php * MY * Сейчас Используется JavaScript. Действие MYRUN: идущие часы xmmdatetime.php * MYRUN D,T Локальное время в виде идущих часов. Используется JavaScript, работает только в Internet Explorer. Действие ND: симуляция регулярных изменений xmmdatetime.php * 6D C,D Обновлено Обновлено: 07.04.2008 Второй параметр ND меняется от 2D до 9D и задает интервал имитируемой даты обновления в днях (каждые N дней). Время выводить не рекомендуется - оно выбирается в пределах первой минуты суток. Пример "смены дат" для режима 5D: XMMNEWSLINE: НОВОСТНАЯ СТРАНИЦА И ЛЕНТА НОВОСТЕЙМодуль предназначен для организации новостей - заголовков и ссылок на новостную страницу (для начальной страницы сайта) и собственно новостной страницы, возможно разбитой на несколько подстраниц. Новости хранятся в дополнительном файле контента. Файлы данных Допустим, что новостная страница задана в структуре сайта так: <1>news|News|News and announcements||NEWSPAGE это потребует файла контента с вызовом модуля Файл содержит строки следующего вида: date|header|text|linkid|image|startdate date - дата этой новости; header - заголовок новости (достаточно короткий); text - текст новости; linkid - необязательный идентификатор (ветвь) страницы сайта для построения ссылки; image - необязательное изображение для этой новости; startdate - публиковать новость после указанной даты (дд.мм.гггг) - необязательное поле.
Пример: 11.12.2004|WorldExpo'2004 Prize|We get it for KrakBrak product|en-prod-kb|kb.gif|12.12.2004 02.12.2004|KrakBrak 2.4 Final|KrakBrak Final Version 2.4 released|en-prod-kb 27.11.2004|KrakBrak Beta|We launched KrakBrak 2.0.beta|en-prod-kb||28.11.2004 Важно: помещайте последнюю новость первой. Вызов модуля xmmnewsline.php id flag limit pagelimit id - номер поля dataN для идентификации страницы новостей; flag - значение поля dataN; limit - число, ограничивающее количество новостей на первой странице сайта; pagelimit - необязательное число, ограничивающее количество новостей на новостной странице. В случае превышения генерируется меню для подстраниц. Если не задано, выводятся все новости. Желательно, чтобы pagelimit превышал limit. Такой вызов модуля: xmmnewsline.php 2 NEWSPAGE 5 20 предполагает основную новостную страницу сайта: При вызове в начальной странице сайта, вывод будет ограничен первыми пятью заголовками новостей. При вызове на новостной странице, вывод будет ограничен 20 новостями, если общее число новостей больше - будет выведено меню новостных подстраниц. При вызове модуля в структуре сайта файл данных новостей будет уже просто <1>news|News|News and announcements||NEWSPAGE||xmmnewsline.php 2 NEWSPAGE 5 20 Действия Перед выводом новости сравниваются текущая дата и дата публикации (если задана). Если дата публикации еще не наступила, данная новость пропускается. При вызове на странице новостей модуль выводит заголовок, возможное подменю и блоки новостей, содержащие: При вызове на начальной странице сайта модуль выводит заголовок и заданное количество новостных блоков: Допускается использование модуля для создания архивов новостей по годам на отдельных страницах.
XMMTEMPLATE: ВЫВОД ПО ШАБЛОНУМодуль позволяет выводить данные типа таблицы по специальному шаблону. Сам шаблон задается разработчиком сайта и может быть достаточно сложным. Автоматически обеспечивается порядковый номер записи и постраничное разбиение. Наиболее удобно применение модуля для каталога продукции с показом изображений, построением ссылок на страницы расширенного описания, формирования электронного заказа и т.п. xmmtemplate.php pagesize template pagesize - количество строк исходного файла данных, показываемое на странице; template - дополнение к имени для файла данных (вместо .tempdata по умолчанию). Имя файла данных базируется на имени основной страницы с вызовом модуля путем добавления к нему значения .tempdata (если иное не задано разработчиком или при вызове). Так, для страницы: При вызове модуля в структуре сайта файл данных будет уже просто <1>prod|Products|Our products||||xmmtemplate.php 10 Сам файл данных имеет табличный вид, т.е. каждая строка содержит одно или несколько информационных полей, разделенных вертикальной чертой, если их более одного. Назначение полей свое в каждом конкретном случае и должно отражаться в шаблоне, настраиваемом разработчиком. Пустые строки и строки, начинающиеся со знака # являются комментариями. XMMRANDOM: СЛУЧАЙНАЯ ВЫБОРКАМодуль предназначен для показа случайной выборки требуемого количества информационных блоков из числа определенных. Каждый блок может представлять собой заголовок, текст, ссылку и изображение в любых сочетаниях, но не менее одного элемента из перечисленных. Если число требуемых блоков больше определенных, выводятся все определенные. Модуль позволяет организовать локальную систему баннеропоказа, выводить цитаты, анекдоты и т.п. xmmrandom.php blocks COMMON ANDSELF blocks - число выводимых блоков; ANDSELF - необязательное значение, отменяет исключение "ссылки на себя" COMMON - необязательное значение, определяет общий для всех страниц текущей языковой версии файл данных. Если не задан, для данной страницы имеется свой дополнительный файл данных. Например, xmmrandom.php 2 COMMON вызванный на любой странице английской версии, требует дополнительного файла данных, например, xmmrandom.php 3 вызванный на странице Файл данных содержит строки вида: header|text|linkid|image header - заголовок блока; text - текст блока; linkid - идентификатор (ветвь) страницы сайта для построения ссылки или полная ссылка вида http://...; image - имя файла изображения. Обязательно задание хотя бы одного элемента. Пустые строки и строки начинающиеся со знака # считаются комментариями. Формат показа информационных блоков настраивается разработчиком. Пример строки со всеми полями: PK100|Новый прибамбас хранит до 100 сообщений|ru-prod-pk100-prbmbs|pk100-p2.gif Пример файла для показа пословиц: |Семь раз отмерь, один в поле не воин. |Назвался груздем, продолжай лечиться! |Большому кораблю - большая торпеда.
XMMDIRLIST: ОГЛАВЛЕНИЕ ДИРЕКТОРИЙМодуль позволяет организовать большую область для скачивания файлов с системой навигации, основанной только на именах директорий и файлов. Основное преимущество - достаточно разместить файл в директории. Недостаток - необходима продуманная система имен директорий и файлов. Модуль поддерживает только два уровня вложенности - директории и файлы внутри директорий. xmmdirlist.php dirname MODE columns days dirname - имя директории (для режима CD) или *; MODE - режим вывода - columns - число колонок вывода; days - число дней для отметки новых файлов. Примеры xmmdirlist.php * SM 2 xmmdirlist.php * SH 3 18 xmmdirlist.php poqasonic CD 1 11 В режиме SM выводится меню оглавления директорий (для перехода на сами директории), при первом входе первая директория делается текущей, а затем оглавление текущей директории (имена файлов являются ссылками на них). В режиме SH директории обрабатываются одна за другой, для каждой директории выводится ее имя в виде заголовка, а затем ее оглавление. Режим CD аналогичен SH, но выводится только указанная директория. Формат выводимой информации задается разработчиком и может содержать имя файла, расширение, размер файла, дату модификации, ширину и высоту для изображений. В стандартных настройках задано использование иконок для различных форматов файлов. Вывод может идти в несколько колонок, возможно определение недавно измененных файлов (отметка "новый"), интеллектуальная обработка имен: poqasonic_video_recorder_2388.pdf преобразуется в Poqasonic Video Recorder 2388. Ограничения имен директорий и файлов: должны содержать только латинские буквы на нижнем регистре, цифры, знаки минуса, подчеркивания, точки (но с точки не начинаться). Пример вывода: xmmdirlist.php * SH 1 Eventually Dissatisfied Intl ![]()
Poqasonic International ![]()
XMMGBLIGHT: ГОСТЕВАЯ КНИГАРеализует простую гостевую книгу с ограничением длины сообщения и количества сообщений. База данных не используется. Сообщения разделяются по языковой версии текущей страницы, поэтому в разных языковых версиях будут разные гостевые книги. xmmgblight.php prefix prefix - необязательный идентификатор, добавляется к языковой версии сообщений, что позволяет организовать несколько гостевых книг (на разных страницах) в пределах одного языка. Вывод сообщений разбивается на страницы, на каждой странице есть форма добавления сообщения. После накопления сообщений больше заданного лимита, производится автоматическое удаление самых старых. Файлы сообщений хранятся в директории mygblight и имеют имена состоящие из prefix, двухбуквенного идентификатора языка и отметки времени с точностью до микросекунды, например, 01ru1098287387402544.dat. Файл состоит из одной текстовой строки, разбитой на несколько полей символом |: Изначально поле ответа администратора пустое. Туда можно поместить ответ, например, редактором Администратора сайта в составе cms4site™. Переводы строк задаются не клавишей Enter, а тэгом <BR>. Поля 4 и 5 могут пригодиться при вылавливании хулиганов, пакостящих в гостевой книге, однако положительный результат вылавливания на сегодняшний день кажется весьма маловероятным. XMMGUEST: ОТЛАДКА КОНТЕНТАМодуль показывает последний загруженный в особую директорию myguest файл контента и только тому посетителю, который его загрузил Администратором сайта, да еще и только в течение 10 минут. То же относится и к файлу, отредактированному редактором Администратора сайта. Это весьма удобно для отладки страниц. xmmguest.php QUIET QUIET - необязательный параметр, если задан и обновления файла не было, не будет показано ничего, в противном случае будет выдано диагностическое сообщение. Вызов модуля ставится в начало контентного файла любой страницы. При срабатывании модуля вместо имеющегося контента будет показан только что загруженный на сайт или обновленный редактором. XMMCONTENTCHECK: ПРОВЕРКА ФАЙЛОВ КОНТЕНТАМодуль предназначен для проверки соответствия файлов в контентной директории и структуры сайта. xmmcontentcheck.php Сначала выводится таблица, соответствующая структуре сайта. Для каждой страницы, не являющейся "переходом", выводится: имя страницы, имя файла данных, сообщение "файл не найден" при отсутствии файла или размер файла в байтах, строках и словах при его наличии. Для "переходов" выводятся только имена страниц. Параллельно анализируется оглавление директории и оставшиеся файлы выводятся отдельным списком. Модуль предназначен для отладки (например, в локальной копии сайта). Для него можно завести отдельную страницу, которую нужно будет закрывать в структуре сайта комментарием # перед размещением на общедоступном сервере или закрыть авторизацией.
XMMPOLL: ПРОВЕДЕНИЕ ОПРОСАМодуль предназначен для проведения опросов (голосований). Позволяет задавать текст вопроса и/или изображение, причем последнее может показываться либо целиком, либо в отдельном окне по нажатию на уменьшенную копию. Допускается только одно голосование посетителя, факт голосования отмечается в cookies. Проголосовавшим показываются результаты голосования с диаграммами м процентами ответов, отсортированные по убыванию количества ответов. xmmpoll.php Вопросы и результаты хранятся в дополнительном файле данных. Имя файла базируется на имени основной страницы с вызовом модуля путем добавления к нему значения Первая строка файла данных имеет следующий формат: pollid|question|date pollid - идентификатор опроса (латинские буквы и цифры), для разных опросов нужно задавать разные идентификаторы; question - собственно вопрос; date - дата начала проведения. Последующие строки определяют вопросы и имеют следующий формат: counter|answer|image|* counter - поле счетчика ответов (изменяется системой при проведении опроса!), изначально пустое; answer - текст варианта ответа; image - имя файла изображения; * - показ изображения в отдельном окне. Должно быть задано поле answer, либо поле image, либо оба эти поля. При задании показа изображения в отдельном окне оно уменьшается по ширине до размера, определенного разработчиком (например, 50 пикселей). Поэтому рекомендуется все изображения, показываемые в отдельном окне, готовить одинаковых пропорций (например, 200х160, 250х200, 400х320, 500х400), а показываемые напрямую, соответствующего размера (в нашем случае 50х40). Следует учесть, что в процессе проведения опроса ответы фиксируются именно в этом файле наращиванием счетчиков, поэтому не следует обновлять его с локальной копии (если возможно, следует редактировать его напрямую или выгружать-исправлять-загружать за короткий промежуток времени). Изменение pollid вновь открывает опрос для уже ответивших. Внимание! Файл должен иметь атрибуты, разрешающие в него запись из среды PHP. Пример файла опроса: PIGGYBANK01|Какой вариант оформления вам нравится?|01.11.2004 116|Синий парфюм|piggybank1.jpg|* 98|Красный парфюм|piggybank2.jpg|* 278|Милитари|piggybank4.jpg|* 243|Классический|piggybank3.jpg|* 147|Ни один из этих|piggybank5.gif В примере показаны счетчики ответов, накопленные при проведении опроса.
XMMQUIZ: РОЗЫГРЫШ ПРИЗАМодуль предназначен для проведения розыгрыша призов. Обеспечивает вопрос для розыгрыша и отправку ответов по email. xmmquiz.php Вопросы и результаты хранятся в дополнительном файле данных. Имя файла базируется на имени основной страницы с вызовом модуля путем добавления к нему значения Первая строка файла данных имеет следующий формат: quizid|question|info|mailquery|emailto quizid - идентификатор розыгрыша (латинские буквы и цифры), для разных розыгрышей нужно задавать разные идентификаторы; question - собственно вопрос; info - информация о розыгрыше; mailquery - вопрос о подписке на новости; emailto - куда посылать ответы. Последующие строки определяют вопросы и имеют следующий формат: counter|answer|image|* counter - поле счетчика ответов (изменяется системой при проведении розыгрыша!), изначально пустое, но может содержать начальные значения; answer - текст варианта ответа; image - имя файла изображения; * - показ изображения в отдельном окне. Должно быть задано поле answer, либо поле image, либо оба эти поля. При задании показа изображения в отдельном окне оно уменьшается по ширине до размера, определенного разработчиком (например, 50 пикселей). Поэтому рекомендуется все изображения, показываемые в отдельном окне, готовить одинаковых пропорций (например, 200х160, 250х200, 400х320, 500х400), а показываемые напрямую, соответствующего размера (в нашем случае 50х40). Пример файла розыгрыша: OFFICE2SITEQUIZ01|Какое фото победит?|РОЗЫГРЫШ: 01-ИЮНЯ-2005|Хочу получать новости|[email protected]mail.mail 23|Утро туманное|poll01.jpg|* 35|Закат в красном|poll02.jpg|* 13|Розовые облака|poll03.jpg|* 2|Никакое|poll05.gif|
XMMFORMSENDER: ОБРАБОТЧИК ФОРММодуль обеспечивает следующие действия с формами: xmmformsender.php Имя дополнительного файла данных базируется на имени основной страницы с вызовом модуля добавлением .formdata. Так для страницы Каждая строка описывает одно поле формы. Формат строк различен для разных типов полей. Пустые строки и строки, начинающиеся со знака #, считаются комментариями. Описание формы Первая строка описывает форму в целом: emailfrom|header|EMAIL|emailto1|emailto2|emailto3... emailfrom - электронный адрес отправителя (поле From сообщения - от кого письмо). header - заголовок сообщения (Subject). EMAIL - определяет этот тип поля. emailtoN - список электронных адресов получателей. Поле text Описывает однострочное поле ввода. name|header|TEXT||initial|size|maxlength|conditions|lt|gt name - уникальный идентификатор поля (латинские буквы на нижнем регистре и цифры, начинается с буквы); header - описание поля, выводится перед полем; TEXT - определяет этот тип поля; initial - необязательное начальное значение поля; size - размер поля по горизонтали (в знаках равноширинного шрифта); maxlength - максимальное количество знаков для ввода; conditions - список условий проверки (необязательный); lt - минимальное количество знаков (необязательный); gt - максимальное количество знаков (необязательный). Conditions задаются разделенными запятой: separate - перед полем выводится заданный разработчиком разделитель (для выделения групп полей); required - обязательное поле; onlyalpha - только латинские буквы; alphanumeric - только латинские буквы и цифры; onlynumeric - только цифры; allcaps - только верхний регистр; nocaps - только нижний регистр; firstletter - начинается с буквы; email - адрес электронной почты (добавляется к списку получателей). Примеры: product|Product name|TEXT|||40|80|required,separate|3|80 email|Your mail address|TEXT||@|30|50|required,email|6|50 code|Registration code|TEXT||xxxxxxxx|30|8|required,onlynumeric|8|8
Поле textarea Описывает многострочное поле ввода с прокруткой. name|header|TEXTAREA||initial|width|height|conditions|lt|gt Параметры идентичны полю text, кроме: width - количество колонок в поле ввода; height - количество строк в поле ввода. Специальное поле с именем xmmorderbasket используется для совместной работы с системой электронного заказа: xmmorderbasket|*|TEXTAREA|||100 STYLE="height:1px;visibility:hidden"|1|required|100|90000 Поле является невидимым, но в него помещается сформированный заказ. Поле password Аналогично полю text, но при вводе вместо вводимых знаков на экране видны знаки *. name|header|PASSWORD||initial|size|maxlength|conditions|lt|gt Все параметры идентичны полю text. Поле hidden Используется для заголовков внутри формы и создания скрытых полей, отправляемых получателю. name|header|HIDDEN||initial|autovalue|separate autovalue может принимать одно из значений, обеспечивает подстановку в поле: datetime - текущей даты и времени; ip - IP-адрес посетителя; host - hostname посетителя; agent - тип броузера посетителя; separate - перед полем выводится заданный разработчиком разделитель (для выделения групп полей); Остальные параметры идентичны полю text. Поле Hidden можно применять для размещения заголовков внутри формы (header). Если поле initial содержит *, а значение поля autovalue - external, производится подстановка значения, передаваемого в системной переменной с именем name. например, в такое поле: xmmordercode|Code|HIDDEN||*|external|separate будет подставлено значение 1800F1 при вызове страницы вида /en-prod-order.html?xmmordercode=1800F1, что позволяет разработчику организовать, например, заказ одного определенного товара, выбранного на предыдущей странице, передавая его методом GET, POST или через Cookies. Примеры: formname|PRESS INFO REQUEST FORM|HIDDEN||*||separate autodate||HIDDEN|||datetime autoip||HIDDEN|||ip autohost||HIDDEN|||host autoagent||HIDDEN|||agent Автоопределяемые значения позволяют идентифицировать пользователя в случае хулиганских действий, поскольку форма отправляется по электронной почте от имени сайта, а не пользователя.
Поле select Описывает выпадающее меню для выбора одного из фиксированных значений. name|header|SELECT||selectreq|size|maxlength|value1|value2|value3... selectreq - необязательные требования: required - обязательно для выбора; other - имеется вариант "другое"; separate - перед полем выводится заданный разработчиком разделитель (для выделения групп полей); size - размер поля ввода для "другое"; maxlength - максимальная длина для ввода в поле "другое"; valueN - список значений для выбора. Поле с параметрами require,other обрабатывается так: если выбран пункт "другое", дополнительное поле должно быть заполнено, в противном случае оно очищается. Название пункта "другое" определяется в языковых настройках и не может быть задано иначе, например, "другие". Примеры: something|Select something|SELECT||required,other,separate|34|120|A11|A22|A33|A44|other anything|Выберите что-либо|SELECT||required,other|34|120|A11|A22|A33|A44|другое Поле radio Описывает группу кнопок, только одна из которых может быть выбрана. name|header|RADIO||radioreq|radioformat|value1|value2|value3... radioreq - required если поле обязательно; separate - перед полем выводится заданный разработчиком разделитель (для выделения групп полей); radioformat - oneline для расположения кнопок в строку, checked для начального включения первого значения; valueN - список значений. Пример: yourage|Select your age|RADIO||required|oneline|50 yourage|Select your age|RADIO||required,separate||50 Поле checkbox Описывает переключатель, который можно включить и выключить. name|header|CHECKBOX||checkreq checkreq - список параметров: Пример: yesiwant|I want to receive newsletters|CHECKBOX||checked,separate,br
Поле orderline Позволяет описать единицу продукции или услуги, задать количество или другие величины и рассчитать суммарную стоимость по произвольной формуле. Совместно с полем ORDERTOTAL позволяют организовать электронный заказ продукции. name|header|ORDERLINE|result|maxinput|equations|value1|value2|value3... header - заголовок (наименование продукта); result - заголовок поля суммарной стоимости: Если не заданы элементы value, выводится переключатель (checkbox) и поле стоимости, при указанных value выводятся поля для ввода цифровой информации (например, количества продукции, частоты процессора и т.п.). Элемент equations содержит формулу для подсчета суммы на языке JavaScript. при этом доступ к полям осуществляется так: Добавляемые к основному name суффиксы образуют имена namexxprice, namexx1, namexx2, namexx3..., для которых нужно обеспечить уникальность (не использовать) в данной форме. Минимально, equations содержит то, что присваивается сумме, например, цифру и проверку на включение: Далее, отделенные точкой с запятой, могут следовать операторы языка JavaScript, обеспечивающие подсчеты. Например: (120+120/x.namexx1.value)*x.namexx1.value;if(x.name.status)x.namexx1.value=Math.min(50,Math.max(1,x.namexx1.value)); обеспечивает подсчет суммы в зависимости от количества по нелинейной зависимости и ограничение количества от 1 до 50. Следует обратить внимание, что деление на 0 выдает нулевой результат. Более простой пример: (2500*x.namexx1.value+200)*x.name.status/x.name.status - обычное умножение цены на количество плюс стоимость оформления заказа и проверка включения. Полей ORDERLINE может быть несколько, причем в equations возможен доступ к другим полям ORDERLINE, но это достаточно сложно и может быть сделано разработчиками сайта. Пример: a400|Cleaner A400|ORDERLINE||Price,$|2|(120*x.a400.value)*x.a400.status/x.a400.status|Quantity (1-99) Поле ordertotal Позволяет подсчитать общую сумму по всем предшествующим полям ORDERLINE с учетом НДС или без такового. Пересчет производится как по различным действиям с полями ORDERLINE, так и по кнопке "Пересчитать". В форме допускается только одно поле ORDERTOTAL, расположенное после всех полей ORDERLINE. xmmxxtotalamount|header|ORDERTOTAL||required|fieldsize|vatvalue|vatheader|netheader|calculate xmmxxtotalamount - название поля (должно быть именно таким, также внутри используются имена xmmxxnetamount и xmmxxonlyvat, которые не должны применяться в форме); header - название поля окончательной суммы; required - признак обязательного поля (иначе форма заказа будет отправлена с нулевым заказом); fieldsize - размер полей для вывода сумм; vatvalue - величина НДС в абсолютном значении (0.15 для 15%); если не задано, считается только общая сумма; vatheader - название для поля суммарного НДС; netheader - название для поля суммы без НДС; calculate - название кнопки "пересчитать".
Пример: xmmxxtotalamount|Total amount|ORDERTOTAL||required|12|0.16|16% VAT|Net amount|Calculate Система пытается пересчитывать суммы при любых действиях с полями ввода, однако пересчет может зависеть от типа броузера, поэтому после окончательного определения параметров заказа лучше все-таки воспользоваться кнопкой пересчета. Поля submit, reset, print Описывают кнопки для выполнения действий с формой. Submit проверяет корректность заполнения и посылает корректную форму. Reset восстанавливает значения полей, поступившие при загрузке страницы. Print открывает стандартное окно печати для печати страницы с формой. name|header|SUBMIT name|header|RESET name|header|PRINT Поле header определяет текст внутри кнопки. Действия по submit Заполненные поля проверяются перед отправкой формы. Если поле необязательное, но содержит что-либо, проверка также проводится. Например: name|Non-required info|TEXT|||40|80||5|80 поле должно или быть пустым или содержать не менее 5 и не более 80 символов. Адреса электронной почты проверяются на правильный синтаксис ([email protected] - это НЕ адрес) и, возможно, на правильный отклик указанного почтового сервера на запрос Mail Exchange (задается разработчиком). Если не все поля заполнены корректно, форма выводится снова с предупреждающим сообщением и окраской заголовков неверно заполненных полей. Правильно заполненная форма посылается по списку адресов и адресам из полей формы с признаком email. После этого на страницу выводится кнопка "Восстановить форму", которой желательно воспользоваться для отмены состояния POST, поскольку иначе форма может быть послана еще раз по перезагрузке страницы или по кнопке back броузера. Переменная ширина полей Для полей text, password, textarea и других можно задать точную ширину в пикселях (точках экрана) или переменную ширину в процентах. Например: product|Product name|TEXT|||40 STYLE="width:220px"|80|required,separate|3|80 product|Product name|TEXT|||40 STYLE="width:100%"|80|required,separate|3|80 product|Product name|TEXT|||40 STYLE="width:70%"|80|required,separate|3|80 В первом примере ширина фиксирована, во втором и третьем может меняться при изменении ширины окна броузера.
XMMORDER - ЭЛЕКТРОННЫЙ ЗАКАЗМодуль предназначен для формирования корзины заказа на разных страницах сайта и отсылки заказа по электронной почте со специальной страницы. Включает в себя несколько модулей, часть из которых может вызываться разработчиком в шаблоне сайта, а часть (или все) может быть вызвана в файлах контента. xmmorder.php - назначение количества выбранных товаров, подсчет стоимости, заполнение реквизитов, отправка по электронной почте. Работает совместно с модулем xmmformsender, при этом файл данных для формопостроителя должен определять специальное поле xmmorderbasket (см. XMMFORMSENDER/textarea). Имя дополнительного файла данных базируется на имени основной страницы с вызовом модуля добавлением .formdata. Так для страницы xmmorderbasket.php - формирует корзину заказа, показываемую на страницах с заказом. xmmorderbasket.php label label - метка страницы с оформлением заказа в структуре сайта для обеспечения перехода на нее. xmmorderitem.php - добавление в корзину одного продукта. xmmorderitem.php code description price code - код продукта (уникален в пределах всей продукции); description - описание продукта (с пробелами); price - стоимость продукта (с десятичной точкой или '-' или 0) - последнее поле в строке. xmmorderitem.php 2322 Economy class 2 scheduler 22.90 xmmorderitem.php 9900 Classic scheduler 0 Допускаются продукты без цены ('-' или 0), подсчет по ним не производится, но количество назначается. Основное занесение продуктов в корзину выполняется, как правило, по прайс-листу. Перед таблицей прайс-листа вызывается специально написанный модуль, обеспечивающий добавление продукта в корзину из таблицы. Предполагается, что в таблице первая строка является заголовком, первая колонка содержит код продукта, вторая - описание, последняя - стоимость. Строки заголовка и подзаголовков таблицы пропускаются. Пример размещения вызова всех модулей в файлах контента а) на странице прайс-листа: myordertable.php xmmorderbasket.php ORDERSEND Code|Name|Weight|Price 2001|Contemporary usability|16|42.97 2002|Unstable virtue|11|13.60 2014|Usable comments|23|22.00 1011|Evaluatable fitness|22|16.22 3000|Guided honour|11|67.99 7000|Ununderstandable evaporator|19|77.77 1111|Desirable unfortunization|7|11 1222|Exclusively astonished|1|1 б) на странице с одним продуктом: xmmorderitem.php 2322 Economy class 2 scheduler 22.90 в) и на странице с меткой ORDERSEND: xmmorder.php
XMMAUTHORIZE - АВТОРИЗАЦИЯМодуль предназначен для ограничения доступа к отдельным страницам. Модуль интегрирован в движок сайта, поэтому активизируется разработчиком в настройках. Авторизуемые страницы задаются в структуре сайта признаком авторизации AUTHORIZED (или другим) в одном из полей данных (по стандартным настройкам - data1) и значением уровня доступа в другом поле данных (по стандартным настройкам - data2), например: <2>authorize|Авторизация||LOGOUT <3>authpage|Для дилеров||AUTHORIZED|0 <4>sub1|Авторизованная подстраница уровня 2||AUTHORIZED|2 <4>sub2|Авторизованная подстраница уровня 3||AUTHORIZED|3 <4>sub3|Авторизованная подстраница уровня 4||AUTHORIZED|4 Данный пример предполагает, что на странице "Авторизация" имеется ссылка, например, "Вход для дилеров", при переходе по которой на страницу "Для дилеров" система запрашивает пароль. Каждому паролю соответствует значение уровня доступа пользователя. Правильно введенный пароль открывает данную страницу, на которой может быть расположено оглавление подстраниц и уже размещаться некоторая закрытая информация. Введенный пароль запоминается в течение сеанса (в данном окне броузера). Имеются два алгоритма авторизации, выбираемые в настройках: GE - больше или равно и EQ - равно. В режиме GE страница показывается пользователю, если его уровень авторизации больше или равен уровню страницы. В режиме EQ - только если уровни равны или уровень самой страницы равен 0. Рекомендуется организовать выход из авторизации на страницу, помеченную в примере LOGOUT. Для этого имеется функциональный модуль: xmmauthcontent.php mode word label mode - режим вывода: LOGOUT - построение выхода из авторизации; USER - вывод сведений о пользователе; BOTH - и то и другое; word - текст для ссылки выхода или * - стандартное значение; label - метка страницы перехода при выходе (для примера - LOGOUT). Пример: xmmauthcontent.php BOTH Отменить авторизацию LOGOUT построит примерно следующее: Файл данных для авторизации Пароли и сведения о пользователях хранятся в директории myuauth в файле authorized.php (или другом), имеющем следующий вид: <?/* идентификатор|пароль|уровень|сведения */?> Первая и последняя строки должны быть именно такими, внутренние строки содержат идентификатор пользователя, пароль, уровень доступа и сведения о пользователе, например: <?/* ПРОГРЕСС|YearTT201|4|Иванов Сергей Ильич РЕГРЕСС|ueyrueyreu|3|Отдел им. Маркетинга НЕВА-16|12345009|4|Егор Дралопупенко */?> Длина пароля должна быть не менее 8 знаков. Формат файла выбран таким по соображениям безопасности - его нельзя скачать с сайта по протоколу http, можно только помещать на сайт или редактировать на месте Администратором сайта.
Рекомендации по применению Не рекомендуется давать нескольким пользователям один и тот же пароль - при необходимости лишить одного из них доступа, придется информировать остальных о новом пароле. В практическом применении механизм авторизации может быть применен разработчиком для показа модифицированной информации. Например, стоимость продукции пересчитывается по определенной формуле в зависимости от уровня авторизации (дилерские цены), поэтому один и тот же исходный прайс-лист показывается разным посетителям по-разному. Если же подобные действия уже реализованы (например, в MS Excel прайс лист содержит колонку базовой цены и несколько колонок дилерских цен, рассчитываемых по формулам или вручную), такой прайс-лист можно поместить на сайт целиком, показывая определенную ценовую колонку в зависимости от уровня авторизации. XMMCALENDAR - КАЛЕНДАРЬМодуль предназначен для вывода календаря с учетом выходных, праздников и т.п. применительно к рабочему времени фирмы. xmmcalendar.php timezone HTC before columns rows text timezone - временная зона (часовой пояс) или * для значения из настроек - см. модуль xmmdatetime.php HTC - задает вывод заголовка (H), линейки дней (T), календаря по месяцам (C). Должно быть задано хотя бы одно значение. before - 1 или 0, при 1 линейка и календарь строятся начиная с предыдущего дня и месяца соответственно, иначе - с текущего. columns - число колонок, минимально на единицу больше before. rows - число строк в календаре, не менее 1. text - заголовок в одно слово (при выводе слэш заменяется на запятую с пробелом, подчеркивание на пробел), если не задано, используется timezone. xmmcalendar.php * HTC 1 5 1
Дополнительные данные Задаются в дополнительном файле, общем или привязанном к текущей странице. Файл имеет специальный формат, хотя правила пропуска пустых и содержащих знак # строк стандартны. В файле имеются строки вида: код:значение,значение,... значения могут быть цифрой или датой в формате дд.мм.гггг, а могут быть не заданы вообще, код задается как показано далее. Обычные дни являются праздниками OH:23.02.2005,08.03.2005,01.05.2005,02.05.2005,09.05.2005,07.11.2005,12.12.2005Рабочие дни переносят на выходные из-за праздников OW:05.03.2005Когда у фирмы личные праздники CH:11.06.2005,13.06.2005,14.06.2005,15.06.2005,21.02.2005Рабочие дни фирмы в общие праздники CW:23.02.2005Обычная еженедельная работа фирмы в выходные, 0-вс,6-сб SW:6Еженедельные выходные фирмы по обычным рабочим дням, 1-пн,2-вт,3-ср,4-чт,5-пт SH:1Время начала рабочего дня по дням недели, последнее - для официальных праздников, index(0-вс,1-пн,2-вт,3-ср,4-чт,5-пт,6-сб,7-спецдень CW) 0 1 2 3 4 5 6 7 WS:0,10,10,10,10,10,11,12Время окончания рабочего дня по дням недели, последнее - для официальных праздников, index(0-вс,1-пн,2-вт,3-ср,4-чт,5-пт,6-сб,7-спецдень CW) 0 1 2 3 4 5 6 7 WE:0,18,18,18,18,18,17,16Данные необходимо периодически обновлять по мере появления постановлений о переносе выходных и естественного течения времени, следя за диапазоном выводимых месяцев. XMMCURRENCY - ВАЛЮТАМодуль обеспечивает вычисление кросс-курса между заданными валютами. Вызывается разработчиком сайта. Применяется для перевода цен по текущему курсу ЦБ РФ. Данные берутся с бесплатного сервиса РБК и дополнительно хранятся на сайте на случай неконнекта. xmmcurrency.php DEMO При вызове в демо-режиме выводит пример перевода случайной суммы из одной случайно выбранной валюты в другую (каждый раз разные): 288.58 BYR = 0.08 EUR (0.0003) 2008-04-11 XMMWEATHER - ПОГОДАМодуль обеспечивает вывод прогноза погоды по городам. Данные берутся с бесплатного сервиса РБК и дополнительно хранятся на сайте на случай неконнекта. xmmweather.php citieslist citieslist: список городов через запятую или SORTALL для вывода полного списка.
XMMECAT - КАТАЛОГ ПРОДУКЦИИМодуль предназначен для работы с каталогом продукции, представленным несколькими файлами, экспортированными из 1С или Excel. xmmecat.php LAYOUT BASKET LAYOUT - строятся все вызовы составных частей (иначе это должен обеспечить разработчик) BASKET - подключается корзина заказа Работа модуля
Замечания по работе Модуль имеет большое количество настроек и, скорее всего, будет интегрирован в шаблон сайта разработчиком. Предельный объем каталога зависит от мощности хостингового сервера. Реальные значения на 2006 год - 20000 записей, разбитых на 5-15 подразделов первого уровня. Поиск по каталогу идет 2-3 секунды при суммарном объеме файлов каталога около 2 Мб. XMMICAT - МИНИКАТАЛОГ ПРОДУКЦИИМодуль предназначен для работы с каталогом продукции, представленным одним файлом, экспортированным из 1С или Excel. Возможно "раздельное" применение модуля для нескольких файлов на разных страницах сайта. xmmicat.php r orderlabel r - первый символ автоматически формируемого или нормализуемого кода продукции или * orderlabel - метка страницы заказа продукции, вызывает подключение корзины заказа Работа модуля В настройках модуля задается автоматическое формирование или нормализация кода продукта, колонка наименования, колонка цены (цена также нормализуется). Прочие колонки могут быть произвольными. Модуль строит следующие информационные блоки: Требования к данным Минимально в строке каталога может быть только наименование продукта, однако практическое применение таких данных лишено смысла. Поэтому желательно присутствие в каталоге следующих полей: Допускаются и другие поля, если это необходимо. В наименованиях продукции первым должно стоять значащее слово. Например, применительно к автозапчастям, опора шаровая обычно именуется работниками автосервиса просто как "шаровая", поэтому в каталоге желательно писать "шаровая опора" но не "опора шаровая". В настройках модуля задаются особенности фильтрации первого слова (по конкретным данным), например удаление кавычек, скобок и т.п., а также коррекция ошибок набора. При вызове модуля из структуры сайта, данные участвуют в поиске по сайту, но буква/слово при этом не определяются. Отменить участие в поиске можно в настройках модуля, дополнительным именем файла данных. В зависимости от мощности хостингового сервера, модуль легко справляется с 3-6 тысячами записей в файле.
XMMGALLERY - ФОТОГАЛЕРЕЯ
Вызов модуля xmmgallery.php modes image [image] ... xmmgallery.php modes mask modes - режимы - несколько символов подряд, если цифра - то первая: n - цифра - число колонок R - выровнять галерею вправо C - общий перевод строки после галереи типа R A - автоформирование списка по маске T - выравнивание превьюшек поверху B - выравнивание превьюшек понизу * - стандартные режимы (если ничего другого не задано) image - имя файла изображения или список имен mask - шаблон поиска для режима А, в шаблоне * означает любые символы, в фигурных скобках перечисляются варианты через запятую, например Примеры: xmmgallery.php 3T 1.jpg 2.jpg 3.jpg 4.jpg 5.gif 6.png 7.png xmmgallery.php 1RA poll*.{jpg,png} - как на этой странице Примечание Аналогичная галерея может быть построена обработчиком контента по строкам вида 1.jpg + 2.jpg + 3.jpg + и его настройке на показ изображений без перевода строки. Разница в том, что этот способ может более подойти для "резинового" дизайна сайта - изображения будут переноситься при изменении размеров окна броузера. Однако, функциональных возможностей тут меньше. XMMFIND - ПОИСК ПО СТРАНИЦЕМодуль предназначен для поиска текстового фрагмента на текущей странице. Блок поиска размещается неподвижно относительно окна броузера и отслеживает все перемещения и скроллинги в нем. В настройках назначается размещение относительно одного из четырех углов окна, сообразно с шаблоном сайта. xmmfind.php text text - необязательный текст для формирования ссылки на открытие окна поиска Пример Действие модуля аналогично встроенному поиску броузера. Разница заключается не только во внешнем виде, но и в "подсказке" пользователю о самой возможности поиска на тех страницах, где это необходимо. Не секрет, что многие пользователи забывают или вообще не знают о встроенном поиске броузера (Ctrl-F).
XMMMYSITE - ЗАКЛАДКИ ПОСЕТИТЕЛЯ (МОЙ САЙТ)Модуль позволяет создавать и хранить список закладок страниц сайта каждому посетителю. xmmmysite.php Для хранения закладок используются Cookies. Для разных языковых версий можно организовать разные области закладок, а можно одну общую. Возможны следующие действия при переходе на страницу с вызовом модуля: На странице закладок полезно разместить краткую подсказку по работе с ними. XMMVACANCY - РАБОТА СО СПИСКОМ ВАКАНСИЙУпрощает работу с данными, позволяя свести их к таблице без избыточных повторов. Модуль умеет временно комментировать вакансии, опционально повторять текстовый блок (куда слать резюме) после каждой вакансии, а не только в конце, определять отсутствие вакансий на сегодняшний день, по-умному строить внутреннее оглавление вакансий и т.п. xmmvacancy.php Данные хранятся в таблице следующего формата: Строка 1: Заголовки пунктов описания вакансии. Первая колонка пустая, остальные колонки произвольны. Строка 2: Объединенная ячейка, содержащая вступительный текст. Строка 3: Объединенная ячейка, содержащая координаты для отсылки резюме. Строка 4: Объединенная ячейка, содержащая альтернативный текст на случай отсутствия вакансий. Строки 5 и далее: Описания вакансий: Режимы настроек задаются разработчиком сайта или выносятся им в константы сайта: |