Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Да, но для этого вам потребуется второй почтовый ящик. В этом случае вам придется делать выход при смене пользователя. Если при частой смене пользователей система начала ошибаться при идентификации пользователя, то помогает очистка “Cookies”. Не забывайте, что браузер может показывать вам старый вариант страницы с другим пользователем. Перезагрузите страницу, чтобы увидеть последний её вариант. Можно упростить смену пользователей, создав второго пользователя в Windows. В этом случае разные пользователи сайта будут полностью независимы.
Для системы SLAED требуется компьютер, сервер с базой данных (больше всего тестировалось с MySQL), установленные и запущенные Вэб сервер Apache и PHP. Все эти программы бесплатно доступны в интернете.
Linux (http://www.linux.com)
Apache Web Server (http://www.apache.org)
PHP (http://www.php.net)
MySQL (http://www.mysql.com)
Обратите внимание что это так называемые стандартные требования, при которых гарантируется корректная работа данной системы. SLAED CMS может работать и на других операционных системах (Windows, FreeBSD, OS/2, MacOS) и с другими типами баз данных (MS Access, MS SQL, MSSQL-ODBC, Oracle, PostgresSQL, SQLite).
Предлагаю Вашему вниманию еще одну обработку скрипта - теперь это небольшая галерея FlashGallery универсальная для версий системы с 1.5 до 2.1 (более ранние и поздние не рассматривались). Прекрасно подходит для небольших персональных сайтов, сайтов-визиток, на которых нет необходимости иметь большой альбом с превьюшками (хотя количество файлов здесь тоже неограниченно!), но зато часто требуется просмоторщик фотографий, которые нельзя скачать, для создания портфолио. Много возможностей по настройке внешнего вида и стиля воспроизведения файлов, что наилучшим образом приспособит скрипт именно для Ваших нужд. Не требует базы данных MySQL.
Модуль поиска людей по телефонным книгам во многих странах. Не требуется установка. Просто загрузить модуль на сервер и включить. Сам скрипт расположен на нашем сервере. Пример работы можно посмотреть здесь: http://www.zportal.info/modules.php?name=find_people
Программа предназначена для конвертации модулей портальной системы PHP-Nuke в систему SLAED CMS.
Отличия от Beta версии
- Изменен дизайн окон, теперь он более приятен для глаза.
- Введено сканирование не только директории, но и всех поддиректорий. Теперь достаточно лишь указать папку с модулем, который нужно сконвертировать, т.е. модули с огромным количеством файлов будут конвертироваться с одного клика мышью.
- Исправлены и учтены все глюки Беты, в частности изменения скриптовых файлов для правильной конвертации.
- Введены функции для замены (Поле "действие" в work.ini). Чтобы узнать, как ими пользоваться, зайдите в меню программы "Справка >> Вызов справки".
Как пользоваться
Запускаем. Нажимем на кнопку "Открыть файл" и выбираем php файл модуля. После этого нажимаем на кнопку "Конвертировать файл". Все, файл сконвертирован. Если требуется сконвертировать все файлы данной директории, ставим галочку в нужном поле.
Редактирование списка автозамен
Списки автозамен находятся в файле work.ini. Для добавления своей автозамены необхдимо добавить в конец файла work.ini следующую строку в следующем формате:
{Исходное выражение}|{замена}|{действие}
Конструктор тарифов – новая услуга от «МОЙ хостинг» для тех, кто не любит платить лишнее.
Потратив несколько минут на то, чтобы обозначить свои задачи в Конструкторе тарифов, вы получите полный расчет персонального тарифного плана, в котором будут учтены все особенности вашего сайта.
В Конструкторе тарифов предусмотрена возможность максимальной детализации основных параметров ресурса и дополнительных услуг. При расчете персонального тарифа вы указываете дисковую квоту, количество баз данных и сайтов на аккаунте, требуемое количество парковочных доменов и почтовых ящиков, отмечаете, необходим ли вам выделенный IP, и мгновенно получаете полное представление о стоимости вашего тарифного плана.
Мы берем оплату только за то, что вам требуется. «МОЙ хостинг» бережет ваши деньги! Воспользуйтесь Конструктором тарифов и рассчитайте свой индивидуальный тарифный план. Минимальные объемы некоторых услуг предоставляются бесплатно.
Каждому, чей расчет ежемесячного тарифа составит от $5, «МОЙ хостинг» предоставляет домен в зоне .ru в подарок.
Идея состоит в том, чтобы дать пользователю полную свободу действий при формировании темы оформления системы. Обычно управление формирование внешнего вида сайта ложится на систему, сама тема оформления влияет на этот процесс лишь косвенно, то есть она пассивна. Мы уже делали шаги в сторону интерактивности тем оформления вставляя переменные в HTML код и обрабатывая их, но тем не менее заставить тему управлять сайтом было невозможно. Кроме того, оформление сайта разбросанное по отдельным файлам не позволяло выстроить общей картины и затрудняло разработку тем. Даже человеку знакомому с HTML достаточно сложно, было, нарезать готовый HTML шаблон на куски.
Продолжая в том же духе, уместно будет сказать о том, что внешний вид сайта очень сильно зависит от разработчиков системы, другими словами существуют жестко вшитые куски, которые достаточно сложно менять или перемещать, чтобы изменить некоторые из них нужно править саму систему, что прямо скажем не всем и не всегда удобно. Для примера можно назвать такие вещи как табличная структура, модуль, лицензия, генерация страниц, левые правые верхние нижние блоки, а также банеры.
Другими словами задача стояла такая
1. Создать симбиоз ядра системы и темы оформления, когда не только ядро жестко задает правила поведения и отображения элементов системы, но и тема активно управляет видимостью и управлением элементов.
2. Позволить дизайнеру воплощать любые дизайнерские идеи без оглядки на ядро. То есть, хочет чтобы, верхние блоки отображались слева, правые и левые блоки были расположены вместе справа - нет проблем.
3. Не тормозить продвинутых пользователей в реализации различных способов форматирования текста, таких как HTML - различных версий. XHTML и даже XML, то есть наиболее полно реализовать CMS, так как CMS - это система управления контентом, а вот отображение этого контента может быть любым.
4. Решив задачу 2 и 3 увести систему от табличного дизайна и подготовить к отображению на различных устройствах, таких как мобильных, наладонных и так далее...
5. Жестко разграничить понятия оформление и данные.
Итог
Выполнив все поставленные задачи, мы можем смело сказать, что система не будет тянуть пользователей назад, даже тогда когда все дружно решат перейти на DIV, никаких изменений в движке не потребуется нужно будет только поправить дизайн.
Реализация и как всё работает
В пользовательской теме оформления должен присутствовать файл index.html. Это обычный HTML файл, предназначенный для формирования внешнего вида системы. Соответственно надобность в файлах: header.html, footer-close.html и footer-open.html отпадает.
Синтаксис, простейший файл оформления будет иметь вид:
Естественно, верстальщик и дизайнер могут наполнить его любым HTML оформлением и применить все возможные и известные приемы верстки. Как мы видим, табличная структура отсутствует, и мы можем все построить на дивах (DIV) или переписать код в XHTML.
В данном случае и в целом все понятно, просто и наглядно. Остается только объяснить какие переменные вида {%XXXX%} за что отвечают. Расставить эти переменные естественно можно по всему файлу, в каком угодно порядке.
{%HEAD%} - Стандартное формирование шапки - меты и титлы, а также содержание, которое присутствует в системе по умолчанию.
{%MODULE%} - Нарезка для модуля, который должна подставить система.
{%LICENSE%} - Копирайты системы.
{%BLOCKS banner%} или {%BLOCKS b%} - Верхний банер.
{%BLOCKS left%} или {%BLOCKS l%} - Левые блоки.
{%BLOCKS center%} или {%BLOCKS c%} - Верхние блоки.
{%BLOCKS down%} или {%BLOCKS d%} - Нижние блоки.
{%BLOCKS right%} или {%BLOCKS r%} - Правые блоки.
{%BLOCKS foot%} или {%BLOCKS f%} - Нижний банер.
{%BLOCKS time%} или {%BLOCKS t%} – Время генерации страницы.
{%BLOCKS none,ХХХ%} или {%BLOCKS n,ХХХ%} - Произвольный блок системы или свободный блок без оформления, где ХХХ - это либо ID блока, либо название файла блока.
{%BLOCKS standart,ХХХ%} или {%BLOCKS s,ХХХ%} - Произвольный блок системы или свободный блок с оформлением свободного блока, где ХХХ - это либо ID блока, либо название файла блока.
{%BLOCKS message%} или {%BLOCKS m%} – Сообщение на главной странице.
{%BLOCKS variables%} – Анализатор переменных.
{%BLOCKS query%} – Анализатор запросов в базу данных.
Новая система оформления тем будет доступна, начиная с версии SLAED CMS 2 Pro.
Не для кого не секрет то, что хорошему Интернет проекту нужна раскрутка коего для посещаемости, Интернет просто кишит статьями, обсуждениями на форумах о том, как же поднять посещаемость своему проекту. Мое личное мнение о массовых банерных сетях такое, что толку от них как от кота молока, попытки раскрутить сайт методом банерных ротаций в таких сетях равны нулю. Если вы решили раскручивать сайт рекламой, то ставить её нужно исключительно тематически и без ротации, тогда вероятность того, что её увидит нужная вам аудитория, очень велика. Но Интернет реклама требует вложений, причём не маленьких, сейчас я попробую донести до вас как можно реально раскрутить свой сайт при этом, не заплатив не гроша.
За пол года присутствия на Интернет-рынке я искал множество методов раскрутки своих некоммерческих проектов, пока не наткнулся на тот факт, что на много больше 50% аудитории находит нужный им ресурс из поисковой системы. Что же нужно сделать, что бы допустим в первую десятку выпадающих сайтов Яндекса по поисковому запросу «бесплатный хостинг 1гб на винте» выпадал именно ваш сайт? Я не стану рассказывать о таком явлении как индекс цитирования, думаю, о нём знает любой уважающий себя веб мастер в любом случае если кто не знаком, то может прочитать описание на страницах Яндекса. И так, для того, что бы Ваш сайт попадал в первые десятки по поисковым запросам требуется, что бы ваш сайт обладал необходимым кол-вом тИЦ и PR, пытаться пробиться в первые по таким запросам как «Видео» или «Хостинг» очень хлопотно и практически не возможно, я руководствуюсь тем «Кто ищет тот всегда найдёт».
Для начала Вам потребуется оптимизировать свой сайт для поисковой системы, я обычно ограничивался тем что (речь идёт о SLAED CMS) вписывал в «Описание» и «Ключевые слова сайта» в конфигурации «Слаеда» востребованные запросы Яндекса, Гугла и Рамблера выдаваемые мне генераторами статистики по запрашиваемому слову, (найти эти генераторы можно тут: Рамблер, Гугл, Яндекс). Хочу так же отметить что генерация keywords (ключевых слов) и титлов в системе SLAED CMS производится автоматически, допустим, есть какая-то новость, система автоматической генерации сама выбирает ключевые слова из текста и ставит их в html-код страницы заключая их в тег meta name="keywords". Значит после генерации и вписывания значений, для оптимизации можно ещё воспользоваться системой ЧПУ, так как обычные динамические ссылки SLAED и другой подобной ей системы тяжело воспринимаются поисковиками для индексации. Так же смею заметить, что в системе существует ЧПУ, начиная с версий "1.7 Pro" и "2 Lite".
Теперь предстоит самое главное, это увеличение тИЦ. Думаю известно, что для увеличения тИЦ нужен обмен ссылками для цитирования вашего ресурса, и так сказать поднятия ему числового авторитета. Все когда-то начинали с простейшего, ручного обмена ссылками, заходя в каталог Яндекса и подбирая нужные для обмена по тематике сайты и посылая веб-мастерам по Эл. Почте запросы по обмену. Но это не для нас, благо теперь это кровью и потом не дается. Для обмена ссылками я использую автоматические системы по обмену ссылками, то есть каждый желающий веб-мастер добавляет свой сайт в эту систему, ставя php-скрипт каталога обменника, а затем подбирает нужные по тематике или каким либо другим критериям сайты для обмена. Я использую две системы это: Нагваль и OnLink самые интересные и перспективные, на мой взгляд, системы, тем, что не тормозные, лёгкие и удобные в обращении.
Значит, какие выполняем действия:
Регистрируемся в системах Нагваль и OnLink, ставим скрипты каталогов для взаимообмена на свой сервер, а на сами каталоги делаем ссылки с главных страниц. Тут есть пару советов, это то, что не закрывать эти каталоги от индексации разными хитрыми и не очень методами (за это можно схватить бан) и грамотно составить описание сайта я советую составлять описание из ключевых слов, о которых я писал выше.
Далее начинаем подбирать сайты для обмена, тут нечего сложного кроме одного но, сразу советую откинуть амбиции относительно контента сайтов и обмениваться только с теми, у кого тИЦ составляет не ниже 50 и с теме у кого PR не меньше хотя бы 1, так как, обмениваясь с нулевыми сайтами вы уменьшаете вес ссылок для подсчёта, как бы отдавая этим сайтам часть своего возможного кол-ва тИЦ.
После подбора сайтов к обмену ждём, скажу сразу что моментального прироста тИЦ и PR на следующий день у Вас не будет, потому, как надо ждать пересчёта, пересчёт тИЦ яндексом по моим наблюдениям производиться как правило раз в две недели в ночь с вторника на среду, а вот с гуглом ситуация будем по сложнее, пересчёт PR ведется около 1 раза в три месяца, поэтому к этому знаменательному моменту советую подготовиться конкретно, обменявшись ссылками с как можно большим кол-вом сайтов.
В общем, то всё, кроме того, что попытайтесь не светить свои сайты на форумах с такими цитатами как «Я раскручиваю свой сайт методом накрутки тИЦ» бан поисковика можно схватить моментом, тем более, если тИЦ форума около 1500 :). Более подробную информацию и обсуждения о поисковых системах можно получить тут.
Автор: Лабутис Станислав
Специально для SLAED.NET, если будут вопросы, то пишите сюда, остальное в Яндексе, удачи!
Вы уже, наверное, в курсе, что группа разработчиков ядра PHP 6 встречалась в ноябре 2005 года в Париже. Это была захватывающая встреча, на которой разработчики обсудили развитие PHP со своей точки зрения. Прежде чем я начну свой рассказ о принятых решениях, вынужден предупредить – все что здесь перечислено, это не «100% решенные вопросы» и в окончательном релизе PHP 6 дела могут обстоять иначе. Конечно же, все эти моменты будут обсуждаться подробнее, но уже сейчас можно говорить о перспективах.
Окончательные релизы PHP 6 появятся не скоро, но профессиональные разработчики должны знать к чему готовиться...
Юникод
Поддержка юникода в настоящий момент может быть установлена только на уровне «per request», т.е. для каждого запрашиваемого файла. Это означает, что PHP придется сохранять варианты классов, имен методов и функций одновременно в таблице символов Unicode и в non-Unicode, что, конечно же, увеличивает количество потребляемых ресурсов. Разработчики решили сделать настройку юникода на уровне всего сервера, а не запроса. Отключение поддержки юникода, если таковая не требуется, может увеличить производительность строковых функций до 300% и приложений в целом до 25%. Вынос настроек в php.ini позволит снять заботу о юникоде с разработчика и переложить ее на администраторов хоста.
Если вы самостоятельно собираете PHP и несете всю ответственность за ваши серверы, то вам будет полезно знать, что для PHP 6 потребуются библиотеки ICU (в зависимости от того, будет ли нужен Unicode или нет).
Register Globals уйдут в прошлое
Попрощайтесь с этой настройкой, она будет окончательно убрана. Такой настройки больше не будет в php.ini и если вы ее внесете, то получите ошибку уровня E_CORE_ERROR. Это означает, что PHP 6 наконец-то завершит эру скриптов PHP 3. Это серьезный, но очень нужный шаг.
Magic Quotes будут исключены
Опция magic quotes будет так же исключена из PHP и при попытке включения такой настройки, «выскочит» ошибка E_CORE_ERROR. Это повлияет на magic_quotes, magic_quotes_sybase и magic_quotes_gpc.
Больше не будет Safe Mode
Это понравится тем, кто хостится на серверах с обязательным включением Safe Mode. Теперь, включение опции будет вызывать ошибку E_CORE_ERROR. Причиной для этого становится механизм посыла «сигнала опасности», который делает PHP более безопасным. Сохранится лишь open_basedir.
'var' будет полным алиасом 'public'
Var используется в классах PHP 4. В объектном подходе PHP 5, употребление var вызывает ошибку уровня E_STRICT. В PHP 6 предупреждение об ошибке будет устранено и var станет полным синонимом public. Это вполне нормальное решение, однако, те, кто «подогнал» свои скрипты под PHP 5, сделали в этом плане лишнюю работу.
Возврат по ссылке вызовет ошибку
И '$foo =& new StdClass()' и 'function &foo' теперь вызовут ошибку уровня E_STRICT.
Будет убрана совместимость с zend.ze1
Ze1 всегда пытался поддерживать старое поведение PHP 4, но не всегда «работал на 100%», поэтому в шестой версии PHP он будет полностью исключен.
Поддержка Freetype 1 и GD 1 будет убрана
Поддержка обоих (очень-очень старых) библиотек будет убрана.
dl() останется только в SAPI
Каждую функцию SAPI нужно будет регистрировать отдельно и только CLI и embed SAPI будут работать с этого момента. В других вариантах dl() работать не будет.
FastCGI всегда включена
FastCGI код будет «вылизан» и станет включенным по-умолчанию для CGI SAPI. При этом, поддержку FastCGI будет невозможно отключить.
Старые названия глобальных массивов будут удалены
Помните старые массивы HTTP_*_VARS? Если вы еще не начали использовать $_GET и $POST, то начните делать это прямо сейчас, потому что в PHP 6 эти массивы будут вызывать E_CORE_ERROR.
Перемещения расширений
Расширения XMLReader и XMLWriter войдут в дистрибутив и станут доступны по умолчанию. Расширение ereg для работы с регулярными выражениями переедет в PECL (т.е. будет удалено из PHP). Это означает, что PCRE будет по умолчанию недоступно и выключено. Такой шаг делается для включения нового расширения для работы с регулярными выражениями, основанными на ICU. Чрезвычайно полезное расширение Fileinfo будет включено в дистрибутив и доступно по умолчанию.
Дополнения к движку PHP
64 битный целочисленный тип данных
В движок будет добавлен новый тип данных -int64. Он будет использоваться поумолчанию для integer.
Goto
Никаких команд goto не будет добавлено. Однако, команда break расширится статической меткой, поэтому будет возможно написать break foo и это перекинет на метку foo: в вашем коде.
ifsetor()
Похоже, что мы не увидим эту функцию, что обидно. В операторе ?: можно будет опускать один параметр, что позволит писать так: "$foo = $_GET['foo'] ?: 42;" (т.е. если foo является истиной, то $foo будет равно 42). Это сэкономит немного кода, однако будет не так читаемо, как при использовании ifsetor().
foreach для многоуровневых массивов
Это отличное новшество – вы сможете проходить с помощью foreach по нескольким уровням массива, к примеру "foreach( $a as $k => list($a, $b))".
{} против []
Сейчас вы можете использовать и {} и [] для обращения к строковым индексам. Однако, запись {} уже сейчас вызовет E_STRICT в PHP 5.1 и будет полностью устранена в PHP 6. К тому же, [] частично заменят substr и array_slice и вы сможете использовать "[2,]" для получения символов от второго и до конца строки. Очень удобно.
Изменения в объектном стиле
Связка static
Будет добавлено новое ключевое слово для доступа к последующей связке – static::static2(), что позволит управлять static во время выполнения.
Пространства имен
Этот момент остается нерешенным и по сей день. Мой совет – не задерживайте дыхание.
Типизированные значения при возврате из функций
Разработчики высказались против типизации, потому как это «не в стиле PHP». Однако такая возможномть будет добавлена, но не решен вопрос ее синтаксиса. В любом случае, это будет полезная возможность.
Вызов динамческих функций как статических приведет к E_FATAL
Сейчас вы можете вызывать статические и динамические методы не обращая внимание на то, статические они или динамические. Вызов динамической функции как статической, вызовет E_FATAL.
Добавления в PHP
APC войдет в ядро
Работа APC с байткодом будет включена в основную поставку PHP в качестве стандарта, но, вероятно, не будет активизирована по-умолчанию, но результаты ее работы будут стимулировать хостеров включать эту опцию.
Hardened PHP патч
Этот патч выполняет большое количество дополнительных проверок на безопасность. Разработчики тщательно изучают этот патч и некоторые элементы найдут свое место в PHP: защита от разделения HTTP-запроса, allow_url_fopen будет разделена на две: allow_url_fopen и allow_url_include. Первая опция будет по-умолчанию включена, а вторая – отключена.
E_STRICT войдет в E_ALL
Вау, это серьезная штука! Сообщения об ошибках наконец-то войдут в E_ALL по умолчанию. Это демонстрирует старания разработчиков научить «лучшей практике программирования» посредством сообщений «Эй, ты делаешь неправильно!».
Прощайте asp-тэги <%
Будет удалена поддержка ASP-тэгов, но останутся короткие PHP-тэги <? ?>.
Заключение
PHP 6 движется в интересном направлении – разработчики PHP начали направлять программистов на правильный путь, вместо того чтобы упреждать «так делать не надо, потому что это устарело». Категоричное искоренение таких моментов как register globals, magic quotes, long arrays, {} string indexes и call-time-pass-by-references наконец-то заставит программистов «вычистить» свой код. Плохо ли это? Я так не думаю, но все это сделает переход на PHP 6 еще более медленным, чем мы наблюдаем с PHP 5 (который итак происходит ужасно!).
Официальная информация: http://www.php.net/~derick/meeting-notes.html
Оригинал статьи: http://www.corephp.co.uk/archives/19-Prepare-for-PHP-6.html
Автор: Richard Davey
Перевод: Андрей Олищук
Источник: http://phpclub.ru
Для разных людей термин "веб-стандарты" означает разные вещи. Для некоторых это просто "страницы без таблиц", для других - "правильный код". Однако веб-стандарты это нечто намного большее. Сайт, простроенный по веб-стандартам, это сайт, который придерживается стандартов (HTML, XHTML, XML, CSS, XSLT, DOM, MathML, SVG и т.д.) и лучших отработанных решений (валидный код, доступный код, семантически правильный код).
Указан ли у страниц правильный Doctype?
Doctype (сокращенно от 'document type declaration' - "декларация типа документа") сообщает валидатору, какая версия (X)HTML используется в вашей странице. Декларация должна присутствовать в начале каждой веб-страницы. Doctype - ключевой компонент страницы, претендующей на соответствие стандартам: ваша разметка и CSS не пройдут валидацию, если в вашем документе отсутствует Doctype.
Указан ли у страниц кодировка (charset)?
Если пользовательский агент (например браузер) не может самостоятельно определить кодировку вашей веб-страницы, пользователи увидят на экране нечитаемый текст. Эта информация в особенности важна для тех, кто создает и поддерживает многоязычные веб-сайты. Но вообще объявление кодировки очень важно для тех, кто создает страницы в XHTML/HTML и CSS.
Валиден ли (X)HTML код страниц сайта?
Валидный код браузер выведет быстрее, чем невалидный. Валидный код браузер выведет лучше, чем невалидный. Все больше и больше браузеры подчиняются стандартам, и потому все более важным является валидный и стандартный HTML-код.
Валидны ли CSS-таблицы сайта?
Не забывайте убедиться, что ваш HTML-код и CSS-страницы не содержат ошибок, так как ошибки приведут к искаженному отображению документа на экране.
Использует ли сайт какие-либо CSS-хаки?
В сущности каждый сам решает, какие хаки ему использовать. Это зависит от того, насколько хорошо вы знакомы со всеми вариантами, и от того, какой дизайн вы хотите создать.
Используются ли на сайте какие-либо лишние и ненужные классы (class) и идентификаторы (id)?
Я заметил, что разработчики, осваивая новые приемы и технологии, часто создают замечательные CSS-таблицы, и при этом - плохой XHTML-код. В особенности часто в XHTML-коде встречаются ненужные и лишние "div" и "id". Из-за этого HTML-код теряет стройность, а CSS-файлы становятся запутанными.
Хорошо ли структурирован код страниц?
Семантически правильная разметка подразумевает использование html-элементов по их прямому назначению. Хорошо структурированный HTML-документ хорошо воспринимается всем спектром пользовательских программ (браузерами без поддержки стилевых таблиц, текстовыми броузерами, наладонниками, поисковыми роботами и т.д.)
Есть ли на сайте "сломанные" ссылки?
"Сломанные" ссылки разочаровывают пользователей и потенциально отвращают от вашего сайта ваших клиентов. "Сломанные" ссылки могут также сказаться на том, как поисковые роботы будут индексировать ваш сайт.
Как у сайта со скоростью загрузки страниц и с их размерами?
Не заставляйте меня ждать... Вот какую мысль подразумевают пользователи при проведении всех исследований. Даже пользователи с широким каналом устают от медленной загрузки.
Выдает ли браузер какие-либо ошибки JavaScript при работе со страницей?
Internet Explorer для Windows позволяет включить отладчик, который будет выскакивать на экран всякий раз, когда на странице будет обнаружена ошибка в JavaScript. Эта опция находится в меню "Internet Options" на закладке "Advanced". Уберите галочку с пункта "Disable script debugging".
Используется ли на сайте CSS для всех аспектов оформления страницы?
Используйте стилевые таблицы для управления компоновкой страницы и ее внешним видом.
Перенесены ли вся декоративная графика в CSS, или она все еще встречается в (X)HTML-коде?
Ваша цель, как веб-разработчика, состоит в том, чтобы убрать из html-кода вашей страницы все оформительские элементы. Благодаря чему код станет чище и семантически правильнее.
Используется ли атрибут "alt" во всех значимых изображениях?
Каждый нетекстовый элемент сопровождайте текстовым описанием.
Используется ли на сайте для шрифта относительные единицы измерения вместо фиксированных?
В коде и в стилевых таблицах используйте относительные, а не абсолютные единицы для указания размеров элементов.
Ломается ли каким-либо образом компоновка страницы при увеличении размера шрифта?
Проведите простой тест. Откройте свой веб-сайт в любом браузере, где есть функция изменения размера шрифта. Теперь увеличьте размер шрифта. Еще раз увеличьте. И еще раз... Посмотрите на свой веб-сайт. По-прежнему ли компоновка страницы осталась неизменной? При разработке сайта не рассчитывайте, что у посетителя в браузере размер шрифта совпадает с вашим.
Используются ли на сайте доступные формы?
Формы на веб-страницах не самая простая вещь для людей с физическими недостатками. Одно дело - навигация по странице с текстовым материалом, и совсем другое - переход по полям формы и ввод информации в нее.
Используются ли на сайте доступные таблицы?
Что касается таблиц. Не забудьте указать заголовки для столбцов и рядов... Для таблиц, где имеются два и более логических уровней рядов и столбцов, воспользуйтесь вспомогательными элементами языка html, чтобы связать логически ячейки данных с ячейками заголовков.
Достаточно ли контрастны и ярки цвета на страницах сайта?
Убедитесь, что разница между цветом фона и цветом текста достаточно контрастна, чтобы не вызывать затруднений при чтении у людей с пониженным восприятием цвета.
Используется ли только цвет для выделения критической информации?
Убедитесь, что вся важная информация, выделенная цветом, также выделена при отсутствии цвета, например с помощью контекста или элементами логической разметки.
Используется ли задержка в выпадающих меню (для пользователей с медленной моторикой)?
У людей с медленной моторикой могут возникнуть трудности при работе с меню, которые для них будут работать слишком быстро.
Все ли ссылки содержат достаточно описательный текст (для слепых пользователей)?
Ссылки должны быть достаточно понятными, чтобы они имели смысл при чтении вне контекста - либо при простом чтении или при чтении в виде списка.
Достаточно ли хорошо сайт работает и в современных и в старых браузерах?
Прежде чем начинать верстать страницы с использованием CSS, определитесь, какие браузеры вы собираетесь поддерживать и до какой степени.
Можно ли работать с материалами сайта при отключенном CSS?
На ваш сайт могут зайти люди, у которых браузер не поддерживает CSS или поддержка CSS отключена. Если ваши страницы правильно структурированы, у таких посетителей не возникнет никаких проблем при работе с ними.
Можно ли работать с материалами сайта при отключенных изображениях?
Некоторые пользователи просматривают веб-сайты не загружая графические элементы страниц. Так поступают в особенности те, у которых подключение к Интернету слишком медленное. Ваши страницы не должны вызывать затруднений в работе у таких посетителей.
Работает ли сайт в текстовых броузерах, таких как Lynx?
Текстовый браузер это как бы комбинация отключенных графики и CSS. Текстовые браузеры полагаются целиком на структуру документа при создании изображения на экране.
Хорошо ли выглядит сайт при распечатке?
К любому (X)HTML-документу можно прикрепить стиль для вывода на печать и для этого не потребуется трогать разметку самого документа.
Хорошо ли работает ли сайт на наладонных устройствах?
Этот момент вызывает наибольшие затруднения, так как в настоящее время нет единообразия в том, как наладонные устройства поддерживают веб-страницы. Однако некоторые решения в компоновке страниц поддерживаются на наладонниках лучше, чем другие. Поддержка наладонных устройств зависит от целевой аудитории вашего сайта.
Работает ли сайт в окнах различных размеров?
Среди веб-разработчиков бытует устойчивое убеждение, что с каждым годом средние размеры экрана у посетителей растут. Некоторые разработчики убеждены, что средний размер экрана у посетителей их сайтов составляет по ширине 1024 пикселей. Ну а что насчет пользователей с меньшими размерами экранов или с владельцами наладонников? Являются ли они частью вашей целевой аудитории, и будут ли они испытывать затруднения при работе с вашим сайтом?
Имеется ли на странице четкая визуальная иерархия элементов?
Организуйте и выделяйте важность того или иного материала с помощью размеров, отступов и логических связей.
Легко ли отличить один уровень заголовков от другого?
Используйте заголовки для того, чтобы раскрыть структуру документов, при этом используйте их в соответствие со спецификацией.
Достаточно ли легко понять навигацию по сайту?
Навигация вашего сайта должна подсказывать посетителю, на какой странице сайта он сейчас находится и куда он может следовать дальше.
Используется ли однообразная навигация на всех страницах сайта?
Если на каждой странице вашего сайта навигация придерживается одного и того же стиля, посетителям легче будет работать с сайтом и они быстрее будут находить нужную им информацию.
Используется ли на сайте приемлемый и однообразный язык текстов?
Ясный и простой язык материалов позволяет эффективно вести диалог с посетителем. Не забывайте, что ваш сайт могут читать пользователи, для которых ваш язык не является родным.
Есть ли у сайта карта и страница с контактной информацией? Легко ли их найти?
Большинству карт сайтов не удается раскрыть многоуровневую структуру архитектуры сайта. В тестах на юзабилити пользователи часто игнорируют карту сайта или просто не могут ее найти. Сложность карты также является проблемой: карта должна быть именно картой, а не головоломкой по навигации.
Если ваш сайт очень большой, есть ли на нем инструмент поиска?
Для маленького сайта функция поиска не особенно нужна. Всегда найдутся люди, которые никогда не пользуются поиском по сайту. Тем не менее функция поиска является дополнительным хорошим инструментом навигации по сайту для посетителей.
Присутствует ли на каждой странице сайта ссылка на его главную страницу?
Многие пользователи зарывшись в глубины сайта хотят быстро попасть на его главную страницу. Главная страница является как бы отправной точкой для таких пользователей, на которой они заново собираются с силами, чтобы нырнуть в новые глубины сайта.
Подчеркнуты ли ссылки?
Для полноты восприятия пользователями ссылок текст ссылок должен быть оформлен другим цветом или подчеркнут. Посетители не должны метаться по странице в поисках ссылки.
Четко ли выделены цветом ссылки, которые пользователь уже посетил?
Самое главное, если четкое выделены ссылки, которые пользователь уже посетил, он не нажмет на них случайно, и не будет попадать на ту же самую страницу, где уже побывал.
Есть ли у сайта понятная и полезная страница ошибки 404, которая работает с любого уровня сайта?
Вы запросили страницу - либо набрав URL в адресной строке, либо щелкнув по ссылке - и обнаружили, что провалились в Ничто. Дружественные к пользователю веб-сайты подадут руку помощи потерявшемуся пользователю, а другие сайты будут рассчитывать на то, что браузер пользователь сам их как-нибудь вытащит из бездны киберпространства.
Можно ли к вашему сайту доступиться, набрав адрес без "www"?
В целом не очень критичное требование, а иногда его даже невозможно удовлетворить. Но тем не менее всегда неплохо, если у ваших посетителей есть такая возможность. Если посетитель наберет название вашего сайта без "www" и не сможет до него доступиться, это будет плохо и для вас и для него.
Есть ли у сайта пиктограмма для закладок?
Пиктограмма для закладок (favicon) это графический файл с картинкой в нескольких разрешениях. Они как правило используются на всех профессионально выполненных сайтах. Пиктограмма для закладок дает веб-мастеру еще один способ рекламы сайта. Разумеется, пиктограмма для закладок не является критичной. Однако ее отсутствие порождает волну ошибок 404 в ваших лог-файлах. Такие браузеры как IE всегда запрашивают у сервера эту пиктограмму, когда пользователь помещает ссылку на ваш сайт в закладки. Если на вашем сайте этой пиктограммы нет, в логи попадет ошибка "404 File not found". Так что наличие такой пиктограммы поможет вам значительно сократить размер файла ошибок. То же самое относится и к файлу "robots.txt".
Данная информация пригодится более опытным пользователям системы для отслеживания ошибок в работе сервера и системы. Не для кого не секрет что наша система построения сайтов способна отслеживать стандартные ошибки 400, 401, 403, 404, 500, 503 и вести соответствующую статистику в лог файлах. Но немногие знаю о том, что система способна регистрировать не только стандартные, но и все возможные ошибки. Для того, что бы активировать регистрацию новых ошибок, необходимо добавить в основной файл: .htaccess соответствующую запись.
Допустим, у Вас появилась необходимость отследить ошибку 504, которая отвечает за время прохождения шлюза.
Открываем файл: .htaccess
После:
Добавляем:
Этого достаточно для того, что бы система начала фиксировать соответствующую ошибку в случае её появления. Просмотреть файл статистики ошибок, а так же загрузить его к себе на компьютер Вы сможете на главной странице отдела безопасности панели администратора системы. Ниже мы рассмотрим все существующие ошибки и их значения.
Коды первого класса Они не посылаются клиентам.
100 Continue - Начальная часть запроса принята, и клиент может продолжать передачу запроса.
101 Switching Protocols - Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade.
Коды второго класса Возникают, когда запрос успешно принят и понят сервером.
200 OK - Пользователю не посылается.
201 Created - Объект создан.
202 Accepted - Информация принята.
203 Non-Authoritative Information - Информация, не заслуживающая доверия.
204 No Content - Нет содержания.
205 Reset Content - Восстановить исходное содержание.
206 Partial Content - Частичное содержание.
Коды третьего класса Сообщают о перенаправлении. Для того чтобы выполнить запрос, нужны еще какие-то действия.
300 Multiple Choices - Несколько вариантов на выбор.
301 Moved Permanently - Ресурс перемещен на постоянной основе.
302 Found - Ресурс временно перемещен.
303 See Other - Смотрите другой ресурс.
304 Not Modified - Не изменился.
305 Use Proxy - Следует использовать прокси-сервер.
307 Temporary Redirect - Временное перенаправление.
Коды четвертого класса Сообщают об ошибках клиента. Проблема связана не с сервером, а с работой системы и запросами посетителей.
400 Bad Request - Некорректный запрос.
401 Unauthorized - Нет разрешения.
402 Payment Required - Требуется оплата.
403 Forbidden - Доступ запрещен.
404 Not Found - Ресурс не найден.
405 Method Not Allowed - Недопустимый метод.
406 Not Acceptable - Неприемлимый запрос.
407 Proxy Authentication Required - Необходима регистрация.
408 Request Time-out - Время обработки запроса истекло.
409 Conflict - Конфликт.
410 Gone - Ресурса больше нет.
411 Length Required - Необходимо указать длину.
412 Precondition Failed - Не выполнено предварительное условие.
413 Request Entity Too Large - Запрашиваемый элемент слишком велик.
414 Request-URI Too Large - Идентификатор ресурса слишком длинный.
415 Unsupported Media Type - Неподдерживаемый тип ресурса.
416 Requested range not satisfiable - Диапазон не может быть обработан.
417 Expectation Failed - Время ожидания истекло.
Коды пятого класса Сообщают об ошибке на сервере. Система к этим ошибкам не имеет отношения.
500 Internal Server Error - Внутренняя ошибка сервера.
501 Not Implemented - Функция не реализована.
502 Bad Gateway - Дефект шлюза.
503 Service Unavailable - Служба недоступна.
504 Gateway Time-out - Время прохождения через шлюз истекло.
В сегодняшнем мировом Интернет-сообществе стремительно набирают популярность системы управления контентом – CMS. С их помощью любой пользователь может с минимальными усилиями создать полноценный web-сайт. При этом пользователь не обязан знать всех тонкостей web-программирования. Достаточно установить CMS на сервер, наполнить получившийся web-сайт необходимым содержанием и новый портал готов принимать посетителей. Остается только один вопрос – какую CMS выбрать? В этой статье мы познакомим вас с новой, но уже набирающей популярность системой Open SLAED.
Предыстория
Проект SLAED CMS (http://www.slaed.net) был создан несколько лет назад и сразу зарекомендовал себя с лучшей стороны. Сегодня разработано уже четвертое поколение SLAED CMS Pro, и несомненным ее козырем является стабильность работы и отлично проработанная система защиты.
Совсем недавно разработчики SLAED CMS представили первую версию системы, относящуюся к новому поколению CMS. Ее название – Open SLAED. Это поколение не только вобрало в себя лучшие качества платной версии SLAED CMS, но и содержит абсолютно новые функции и технологии. Поэтому в сегодняшней статье я познакомлю вас с этой системой управления контентом. Для начала давайте узнаем, какие же преимущества имеет Open SLAED:
• Использование UNICODE для функции многоязычности
• Внедренная технология AJAX
• Поддержка PHP 4, PHP 5, а также готовящейся к выходу PHP 6
• Повышенный уровень безопасности системы и ее компонентов
• Работа системы под лицензией GPL 3
Пожалуй, о последнем пункте нужно рассказать отдельно. Как известно, ветка SLAED CMS Pro является платной, а предшественница Open SLAED – SLAED CMS Lite распространялась как freeware. Open SLAED – это первое поколение SLAED CMS, которое распространяется под лицензий GNU/GPL. Таким образом, эта система имеет большие перспективы в мире CMS, поскольку теперь разработчики и энтузиасты могут свободно расширять функциональность Open SLAED, создавать неограниченное количество компонентов для нее: блоков, модулей, тем, языковых пакетов.
Установка
Перед тем, как познакомиться с Open SLAED, ее необходимо установить на сервер. Для начала нам потребуется сам дистрибутив системы. Open SLAED можно загрузить на сайте: http://www.slaed.net. Для установки системы нам потребуется web-сервер, совместимый с Apache, интерпретатор PHP, а также СУБД MySQL. Итак, для начала необходимо распаковать дистрибутив Open SLAED в корневую папку сайта, после чего нужно выставить необходимые права доступа:
• 666 – на все файлы в папке config/, config/cache/, config/counter/, config/logs/ (кроме файлов .htaccess и index.html);
• 777 – на папки (именно папки, а не файлы!) config/cache/, config/counter/, config/logs/, а также на папку uploads/ и все остальные папки, вложенные в нее.
Кроме этого, разработчики рекомендуют изменить имя файла admin.php в целях безопасности.
Еще один важный момент – подготовка базы данных для Open SLAED. Для этого достаточно создать новую БД с помощью имеющегося средства для управления MySQL (скорее всего, это будет phpMyAdmin), например, с именем openslaed (рис.1).
Рис.1. Создание БД для Open SLAED.
Теперь, подготовив почву для CMS, запускаем установочный скрипт, который находится по адресу: http://корневая_папка/setup.php. Инсталлятор приветливо встречает нас и предлагает выбрать один из языков системы – английский, немецкий, русский. Кстати, сразу же бросается в глаза отличный и тщательно проработанный дизайн инсталлятора (рис.2).
Рис.2. Выбор языка CMS.
Далее система отобразит лицензионное соглашение и спросит, согласны ли вы с ним. Теперь следует важный этап инсталляции – установка соединения с базой данных. Для этого необходимо указать сервер БД, имя пользователя и пароль для авторизации, а также название той базы данных, которую вы создали для Open SLAED, также можно изменить стандартный префикс для таблиц БД (это необязательно). Кроме того, если вы изменили в целях безопасности имя файла admin.php, обязательно укажите в конфигурации новое имя этого файла (без расширения .php). Теперь, если вы все параметры указали верно, инсталлятор соединится с БД и добавит необходимые для Open SLAED таблицы (рис.3).
Рис.3. Процесс установки таблиц.
Финальным аккордом будет создание учетной записи администратора. Больших трудностей этот шаг вызвать не должен – вводим имя, пароль, e-mail и адрес сайта. Также можно разрешить создание учетной записи администратора как обычного пользователя. На этом процесс установки окончен. Теперь можно авторизоваться и войти в админ-панель.
- Уголок web-мастера -
Перед тем, как перейти к изучению интерфейса системы, должен обратить ваше внимание на следующую деталь. На некоторых серверах возможна ситуация, когда браузеры ошибочно используют для русского варианта Open SLAED не UNICODE, а другую кодировку, чаще всего Windows-1251 или KOI8-R. Чтобы избежать такого эффекта, необходимо явно указать браузеру использование UNICODE. Для этого открываем файл .htaccess, находящийся в корневой папке, и добавляем в него следующую строку:
AddDefaultCharset UTF-8
Теперь все будет отображаться без ошибок.
- Уголок web-мастера -
Админ-панель
Итак, вы вошли в админ-панель (рис.4). Как можно заметить, ее интерфейс разделен на несколько частей:
Главной частью админ-панели является рабочее место администратора, где отображаются системные сообщения и ссылки на все имеющиеся модули админ-панели; отсюда начинается настройка и администрирование Open SLAED. Первым делом мы обратимся к модулю «Конфигурации». Здесь собраны основные параметры CMS, как то: название сайта, адрес, логотип и т.д. Кроме того, если вы собираетесь устанавливать форум на свой web-сайт, то здесь можно объединить регистрацию пользователей форума и Open SLAED, а также интегрировать в систему профили и сервис личных сообщений форума. Open SLAED поддерживает следующие форумы:
• phpBB 2.0.x;
• Invision Power Board 1.3.1, 2.0.x, 2.1.x, 2.2.x, 2.3.x;
• vBulletin;
• Simple Machines Forum (SMF).
Кроме этого, модуль «Конфигурации» содержит немало других интересных параметров. Здесь можно настроить работу графического кода (captcha) для защиты от рекламных роботов, использование редакторов в модулях системы, cookies, ЧПУ, языки, цензуру, кэширование и многое другое. Кстати, Open SLAED содержит и поддерживает четыре редактора для публикации: обычный BB-редактор, TinyMCE 3, Spaw 2 и FCKeditor.
В отличие от предыдущего поколения Lite, в Open SLAED также был вынесен отдельный модуль для управления рейтингами. В стандартной комплектации возможно настройка рейтингов в модулях «Новости», «Профиль» и «Каталог файлов».
Также заметно улучшился модуль «RSS каналы». Теперь пользователи могут создать собственное оформление новостей, управлять количеством выводимых новостей, подробно просматривать отдельные каналы RSS.
Должен обрадовать тех, кто создает многоязычные порталы. В Open SLAED появился отдельный модуль для управления языками. Сюда были вынесены все настройки языков для модулей системы и админ-панели. Но не это главное. Изюминка модуля «Языки» состоит в том, что теперь можно редактировать языковые файлы прямо из админ-панели с помощью редактора языков! Причем все языковые константы отсортированы и разделены по установленным языкам, поэтому теперь вы сможете легко и быстро создать многоязычный web-сайт (рис.5).
Рис.5. Редактор языков.
Еще я должен отметить новый модуль «Файловый редактор». Используя его, вы забудете о длительных загрузках на FTP-сервер файлов для каталога или изображений для новостей. По умолчанию для загрузки используется папка uploads/news/ и файлы форматов *.gif, *.jpg, *.jpeg, *.png. Однако, используя конфигурации, можно настроить загрузки под себя и разрешить другие форматы файлов, а также указать допустимый размер файлов, количество одновременных загрузок, количество файлов на страницу, разрешить гостям добавлять файлы.
Конечно, не ударил лицом в грязь и модуль «Безопасность». Как всегда, здесь можно найти все для блокировки нежелательных IP-адресов, настройки правил для администраторов, защиты от DDoS- и Flood-атак, работы со статистикой.
Пользователи
Итак, изучив основные возможности админ-панели, перейдем к одному из фундаментальных компонентов Open SLAED – управлению пользователями. Важным нововведением в этой сфере является система очков (пунктов) и рейтингов.
С помощью очков (пунктов) можно судить об активности на портале того или иного пользователя. Например, за просмотр страницы добавляется 1 пункт, за публикацию материала в FAQ – 10 пунктов, а за оценивание какого-либо файла в каталоге – 3 пункта. В Open SLAED уже имеется некоторый набор действий, за которые добавляются очки, а администратор уже может настроить количество выставляемых очков по своему вкусу (рис.6).
Рис.6. Настройка системы пунктов.
Рейтинг, в отличие от очков, выставляет не CMS, а другие посетители вашего портала. Оценку определенному пользователю можно выставлять по пятибалльной шкале в комментариях и только один раз (рис.7).
Рис.7. Комментарий и рейтинг.
Кстати, у администраторов есть возможность изменять количество пунктов у посетителя. Для этого достаточно зайти в модуль «Пользователи», найти там нужного пользователя и отредактировать его профиль. Кроме количества очков, здесь можно указывать такую контактную информацию, как web-сайт, e-mail, аккаунты в ICQ, AIM, Yahoo и MSN, личную информацию (увлечения, род занятий и т.д.), используемый язык на сайте. Кроме того, можно создать с помощью редактора собственное меню, которое будет отображаться на панели блоков.
Как всегда, имеется стандартный набор инструментов для работы с комментариями (рис.7):
• Персональная информация о комментаторе;
• Переход на web-сайт комментатора;
• Отправка писем на e-mail;
• Информация об IP-адресе;
• Блокировка нежелательных посетителей;
• Редактирование комментария:
• Удаление комментария.
Страничка с профилем комментатора, на которую ведет первая ссылка, содержит подробную информацию о нем, как то: ник, дата рождения, IP-адрес, пол, количество набранных пунктов, группы, контакты и даже подробная информация о браузере пользователя (рис.8)!
Рис.8. Персональная информация.
Выводы
Итак, новая CMS Open SLAED уже зарекомендовала себя как стабильная и мощная система с отличным набором инструментов для управления порталом, необходимых для создания собственного web-сайта. С помощью Open SLAED можно создать сайт практически любой направленности – от домашней странички до сложного корпоративного портала или софтового каталога. Поэтому, если вы хотите создать хорошо защищенный и функционирующий web-сайт, попробуйте эту систему, она прекрасно выполнит свою работу, а вы и ваши посетители останутся довольны. На этом позвольте попрощаться, до новых встреч!
Чтобы создать собственный модуль для сайта, построенного с использованием SLAED, достаточно простейших знаний HTML и PHP, а также соблюдение их синтаксиса. Кроме этого потребуется правильная постановка задачи и внимательность. В качестве примера ниже приведены коды модулей, созданные для использования на всех версиях системы SLAED. При реализации модулей учитывайте, любой PHP код должен начинаться c <?php и заканчиваться ?>
1. Создание простейшего модуля
1.1. Представим себе, что Ваш сайт только на русском языке. Вы хотите для этого сайта сделать модуль «О компании». Для этого Вам нужно в директории http://www.ваш_сайт.com/modules/ создать поддиректорию «About_Company». В этой поддиректории должен находиться файл index.php. Вот как это должно выглядеть:
(Кроме модуля «About_Company» на скриншоте представлен ещё и модуль «Account».)
В файле index.php для простейшего модуля должен быть такой код:
Без комментариев код модуля «О компании» выглядит так:
В содержимое модуля можно вставлять не только текст, но и HTML-код, а также PHP-код. HTML-код нужно вставлять с соблюдением синтаксиса языка PHP.
1.2. Допустим, Вы хотите кроме текста на русском языке вставлять в модуль ещё и какие-то картинки. Для этого нужно добавить в директорию «About_Company» модуля «About_Company» поддиректорию «images», в которой будут храниться графические файлы. Структура директорий и файлов модуля «About_Company» будет выглядеть так:
building.jpg — это фотография здания компании company_logo.gif — это логотип компании director.jpg — это фотография директора фирмы index.html — это пустой файл, который нужен для того, чтобы невозможно было просмотреть браузером содержимое директории «images» map.gif — это карта проезда к зданию компании
Разумеется, могут быть и другие графические файлы. Вы можете задавать свои имена графическим файлам.
1.3. Предположим, что Ваш сайт не на одном языке (только на русском), а на нескольких языках (русском, английском и немецком). В этом случае структура директорий и файлов модуля «About_Company» будет выглядеть так:
language — это директория, содержащая в себе языковые файлы
.htaccess — этот файл запрещает всем доступ в директорию «language», в этом файле должна быть такая строка:
Файл .htaccess нужно создавать, редактировать и сохранять только в программе «Блокнот» (Notepad) под Windows, так как этот файл должен быть сохранён в кодировке Unix, что обеспечивает его правильную работу на web-сервере, использующего операционную систему Unix или ей подобную (Linux, FreeBSD).
index.html — это пустой файл, который нужен для того, чтобы невозможно было просмотреть браузером содержимое директории «language» lang-english.php — языковый файл модуля на английском языке lang-german.php — языковый файл модуля на немецком языке lang-russian.php — языковый файл модуля на русском языке
Код модуля «About_Company» в этом случае будет иметь вид:
Без комментариев код модуля «About_Company», который работает на мультиязычном сайте, имеет вид:
В языковых файлах lang-english.php и lang-german.php информация, представленная в файле lang-russian.php, должны быть переведена на соответствующие языки.
В данном примере всё содержимое (контент) и внутреннее оформление (дизайн) модуля «About_Company» находится в языковых файлах. Для более сложного содержимого модуля (таблицы, например) целесообразно размещать HTML-код в файле index.php модуля «About_Company», а в языковые файлы нужно выносить только языковые константы (define("_ABOUT_COMPANY_TITLE","О компании");, например), что существенно облегчит работу с языковыми файлами, а также позволитс меньшими затратами времени вносить изменения в контент и дизайн модуля.
1.4. Для доступа к страничке со списком учредителей компании нужно применить оператор switch.
Код файла index.php модуля «About_Company» должен иметь вид:
Без комментариев код модуля «About_Company» будет выглядеть так:
В языковом файле http://www.ваш_сайт.com/modules/About_Company/language/lang-russian.php (а также в файлы lang-german.php и lang-russian.php) должна быть языковая константа _ABOUT_COMPANY_FOUNDERS. Файл lang-russian.php будет иметь вид, как было указано выше.
Указанный модуль не хранит информацию в базе данных, что позволяет чуть быстрее выводить эту информацию на страничку в браузер посетителя сайта, к тому же такой способ хранения информации меньше загружает MySQL-сервер хостера.
Для внесения новой информации, для редактирования существующей информации в файлах модуля (языковые файлы http://www.ваш_сайт.com/modules/About_Company/language/lang-russian.php) требуются начальные знания синтаксиса HTML и PHP.
Чтобы создать собственный блок для сайта, построенного с использованием SLAED, достаточно простейших знаний HTML и PHP, а также соблюдение их синтаксиса. Кроме этого потребуется правильная постановка задачи и внимательность. В данной статье мы рассмотрим варианты ручного создания файловых блоков. В качестве примера ниже приведены коды, созданные для использования на всех версиях системы SLAED.
Для начала необходимо создать файл в директории блоков blocks/ Для того, что бы система идентифицировала данный файл как файловый блок, название файла должно быть такого типа: block-ваше_название.php В самом файле, для вывода информации необходимо использовать переменную $content за место стандартных методов echo или print, это единственная отличительная особенность которую нужно учитывать. Всё остальное реализуется при помощи стандартных методов и функций PHP и HTML. При реализации блоков учитывайте, любой PHP код должен начинаться c <?php и заканчиваться ?>
Ниже мы рассмотрим варианты реализации блоков на примерах реализованных в коде, с комментариями участков.
Пример 1
Пример 2
В примерах ниже мы рассмотрим варианты вывода информации в блок из других файлов.
Для работоспособности примеров:
1. Создаём файл demo.txt в директории blocks/ Директория значения не имеет, файл может находиться на другом сайте. Важно указать точный путь к файлу!
2. В файле напишите произвольный текст на своё усмотрение. Содержание данного файла может быть любым.
В качестве содержание файла demo.txt предлагаю использовать изначальный текст:
Пример 3
Пример 4
После того как файловый блок создан и находится в директории blocks/ необходимо добавить и активировать его в панели администратора системы, в отделе блоков: Панель администратора >> Блоки и баннеры >> Добавить новый блок
Заголовок – Указываем название для блока
Ссылка на канал RSS – Оставляем пустым
Время обновления – Оставляем как есть
Имя файла – Выбираем созданный файловый блок
Содержание – Оставляем пустым
Позиция – Выбираем на своё усмотрение
Отображать блок в модулях - Выбираем на своё усмотрение
Язык - Выбираем на своё усмотрение
Активировать? – Да
Время работы, в днях – 0 без ограничений
После истечения – Если без ограничений, оставляем как есть
Кто это будет видеть? - Выбираем на своё усмотрение
В SLAED CMS реализована и успешно используется универсальная система блоков, которая даёт гибкую возможность их использования. В отличие от стандартных блоков системы (Блоки создаваемые в базе данных, Файловые блоки или HTML Блоки) которые мы можем использовать независимо друг от друга, персонально для каждого модуля системы или контингента посетителей, в желаемом месте, мы имеем свободные, независимые блоки. Данный тип блоков можно использовать в любых местах, шаблонах или модулях системы.
Общие сведения
В системе есть два вида блоков:
- Стандартные (обычные).
- Свободные (fly, плавающие).
Создать новый стандартный блок можно через:
- Панель администратора >> Блоки и баннеры >> Управление блоками >> Добавить новый блок
Стандартные блоки могут размещаться (опция «Позиция»):
- Слева
- По центру вверху
- По центру внизу
- Справа
- Верхний баннер
- Нижний баннер
Стандартный блок может быть включён (опция «Отображать блок в модулях») в одном или в нескольких выбранных модулях, он может отображаться во всех модулях или только на главной страничке сайта.
Вновь созданный стандартный блок можно использовать для вывода RSS-новостей, для чего выбирается соответствующий RSS/RDF файл.
Оформление внешнего вида блоков с помощью шаблонов
Стандартные блоки системы
Файл block-center.html отвечает за верхние центральные блоки.
Файл block-down.html отвечает за нижние центральные блоки.
Файл block-left.html отвечает за левые блоки.
Файл block-right.html отвечает за правые блоки.
Файл block-all.html отвечает за все остальные блоки, которые могут использоваться отдельно от стандартных.
Можно создать уникальное оформление для любого блока, находящегося в директории blocks/ (block-name.php; name - это имя блока). В директории templates/ваша_тема/ создаём файл шаблона с именем block-name.html. В этом шаблоне делаем уникальное оформление для блока block-name.php. Пример: нужно сделать уникальное оформление для блока block-voting.php. В этом случае создаём файл шаблона в директории templates/ваша_тема/ с названием block-voting.html. Система найдёт этот файл шаблона автоматически, а затем будет использовать его только для оформления блока block-voting.php.
Стандартные блоки имеют более высокий приоритет, чем свободные блоки, поэтому если в свободном блоке отмечено чтобы он отображался хотя бы в одном модуле или в нескольких модулях или во всех модулях или на главной страничке сайта, то такой блок автоматически превращается в стандартный несмотря на то, что он отмечен как «Свободный блок» (fly block).
Свободные блоки системы
Свободный блок (fly) можно разместить в любом месте странички сайта, для чего требуется вставить код формирования этого свободного блока в соответствующий php-файл (в config/config_header.php, например). В шаблоны тем оформления (файлы *.html) нельзя вставлять код формирования свободного блока, так как в этом случае этот php-код не будет обрабатываться.
Свободный блок описывается в php-скрипте функцией: blocks("why", "who");
blocks - функция создания свободного блока с параметрами: why и who.
В зависимости от параметров why и who функция создания свободного блока может:
- Печатать на стандартный вывод сформированный свободный блок (выводить блок на страничку).
- Возвращать строку со сформированным свободным блоком (вывод блока в переменную для последующей вставки этого блока в html-шаблон).
При этом этот свободный блок может быть с оформлением или без него - это зависит от параметров why.
Значение параметров why
none (выводит тело блока на страничку без оформления)
$fly_block_1_1 = blocks("none", 15);
$fly_block_1_2 = blocks("none", "block-menu2.php");
standart (выводит тело блока на страничку с оформлением)
$fly_block_2_1 = blocks("standart", 15);
$fly_block_2_2 = blocks("standart", "block-menu2.php");
plzreturn (выводит тело блока в переменную без вывода на страничку и без оформления)
$fly_block_3_1 = blocks("plzreturn", 15);
$fly_block_3_2 = blocks("plzreturn", "block-menu2.php");
oreturnform (тело блока в переменную без вывода на страничку, но с оформлением)
$fly_block_4_1 = blocks("oreturnform", 15);
$fly_block_4_1 = blocks("oreturnform", "block-menu2.php");
* 15 - Это bid, номер блока в базе данных (Номер блока можно посмотреть в панели администратора в строке №).
Значение параметров who
bid блока (номер блока в базе данных; таблица slaed_blocks, поле bid; это так называемый без файловый блок, то есть код этого блока находится не в php-файле в директории blocks, а в базе данных в таблице slaed_blocks в поле content)
$fly_block_5_1 = blocks("none", 15);
$fly_block_5_2 = blocks("standart", 15);
$fly_block_5_3 = blocks("plzreturn", 15);
$fly_block_5_4 = blocks("oreturnform", 15);
block-name.php (имя php-файла блока; name - это имя блока)
$fly_block_6_1 = blocks("none", "block-menu2.php");
$fly_block_6_2 = blocks("standart", "block-menu2.php");
$fly_block_6_3 = blocks("plzreturn", "block-menu2.php");
$fly_block_6_4 = blocks("oreturnform", "block-menu2.php");
Чтобы пользоваться созданным свободным блоком нужно, чтобы этот блок был активным. На этом блоке должна быть только одна отметка - «Свободный блок», в противном случае этот блок будет стандартным.
Для формирования эксклюзивного оформления для свободного блока нужно создать файл шаблона этого блока с именем:
- fly-block-15.html (15 - это номер блока в базе данных (таблица slaed_blocks, поле bid));
- fly-block-name.html (name - это имя блока).
Пример 1
Нужно создать свободный блок с параметрами:
- Вывод тела свободного блока на страничку.
- Без оформления.
- По номеру блока в базе данных.
- C использованием имени блока.
Пример 2
Нужно создать свободный блок с параметрами:
- Вывод тела свободного блока на страничку.
- С оформлением.
- По номеру блока в базе данных.
- С использованием имени блока:
Пример 3
Нужно создать свободный блок с параметрами:
- Вывод тела свободного блока в переменную.
- Без оформления.
- По номеру блока в базе данных
- С использованием имени блока:
Пример 4
Нужно создать свободный блок с параметрами:
- Вывод тела свободного блока в переменную.
- С оформлением.
- По номеру блока в базе данных.
- С использованием имени блока.
Для вывода на страничку переменной, содержащей в себе тело свободного блока, нужно сделать следующее:
Открываем файл config/config_header.php и в него вставляем код:
В любое место шаблона (в templates/ваша_тема/index.html, например) вставляем массив $BlockGlob[menu2] (Обратите внимание на отсутствие кавычек внутри квадратных скобок!) На страничку вместо $BlockGlob[menu2] будет выведен блок menu2, код которого содержится в файле blocks/block-menu2.php.
Для корректного вывода на страничку свободного блока, который из базы данных запрашивается по bid из таблицы slaed_blocks, при включённом модуле rss_info (вывод новостей в формате RSS) нужно в php-файл config/config_header.php записать:
Свободный блок может выводиться на странички сайта на всём сайте, если его код встроен в тему оформления, или он может выводиться в каком-то определённом модуле, если его код встроен в код этого модуля.
Свободный блок не может быть обработан системой как стандартный блок, но стандартный блок может быть обработан системой как свободный блок. Пример: блок modules, имеющий bid 1 (таблица slaed_blocks), можно вывести на страничку ещё раз как свободный блок, и тогда на этот блок накладываются все те ограничения, которые наложены на блок modules (показывать только на главной страничке сайта или только в одном модуле или в выбранных модулях или во всех модулях).
Использование уникального стиля оформления для блоков
Стандартные блоки
1) Если существует эксклюзивное оформление для блока block-name.php, то применяется оно. Оформление для блока берётся из:
- Файла templates/ваша_тема/block-name.html по имени блока (name).
- Из файла templates/ваша_тема/block-15.html, где 15 - это номер блока (поле bid в таблице slaed_blocks).
2) Если существует оформление для верхних/нижних или левых/правых блоков, то применяется оно. Оформление для блока берётся из:
3) Если не существуют шаблоны, описанные в п. 1) и п. 2), то для оформления блока применяется шаблон templates/ваша_тема/block-all.html.
4) Если шаблон templates/ваша_тема/block-all.html отсутствует, то применяется встроенное оформление блоков (файл function/template.php):
Тэги fieldset и legend описаны в стилевом файле templates/ваша_тема/style.css.
Свободные (fly) блоки
1) Если существует эксклюзивное оформление для свободного блока fly-block-name.php, то применяется оно. Оформление для блока берётся из:
- Файла templates/ваша_тема/fly-block-name.html по имени блока (name).
- Из файла templates/ваша_тема/fly-block-15.html, где 15 - это номер блока (поле bid в таблице slaed_blocks).
2) Если существует общее для всех свободных блоков оформление (файл шаблона templates/ваша_тема/fly-block.html), то применяется оно.
3) Если не существуют п. 1) или п. 2), то применяется файл шаблона templates/ваша_тема/block-all.html.
4) Если шаблон templates/ваша_тема/block-all.html отсутствует, то применяет встроенное оформление блоков (файл function/template.php):
Тэги fieldset и legend описаны в стилевом файле templates/ваша_тема/style.css.
Чем меньше используется уникальных стилей (шаблонов) оформления для блоков, тем быстрее формируется и выдаётся пользователю страничка вашего сайта.