Новости

Свої загальні налаштування (змінні) на UCOZ сайті

  1. Створюємо файл настройок
  2. Створюємо сторінку загальних параметрів
  3. Використовуємо глобальні змінні
  4. Висновок на сторінці
  5. Використання в умовних операторах
  6. завершення завдання
  7. закруглюється

Днями виникла необхідність застосування своїх загальних параметрів (змінних) на сайті під керуванням CMS UCOZ. У системі не реалізована можливість використання полів, не передбачених системою. Але іноді виникає необхідність вносити такі змінні.

Після прочитання цього матеріалу Ви зможете вносити будь-які свої змінні, які будуть діяти практично на всіх сторінках сайту, за винятком виду матеріалів. А при вмілому зверненні, можна розмежувати ці змінні (настройки) для кожної групи користувачів, або навіть для кожного користувача окремо.

Поставимо тривіальну завдання. Скажімо на сайті є рекламні банери. Ви хочете розділити групи користувачів на тих, хто повинен бачити рекламу, і тих, хто не має. При цьому, мати можливість динамічно змінювати групи, яким банер повинен бути видно. Назвемо групу, яка повинна бачити банери рекламними групами. Скажу відразу, у мене стояла зовсім інше завдання, говорити про яку не має сенсу.

Ясна річ, можна зробити таке розмежування і за допомогою вбудованих в систему UCOZ змінних і умовних операторів. Але якщо банери розміщені в різних шаблонах сайту, то зміна рекламних груп займе багато часу. А "швидка заміна" може не спрацювати в деяких шаблонах. Тому, будемо застосовувати до сайту свої змінні.

Що нам буде потрібно для подібного збочення:

  • Природно, сайт на конструкторі UCOZ.
  • Модуль "Редактор сторінок".
  • Модуль "Користувачі" з уже обдуманими і заведеними групами користувачів. Параметр необов'язковий, але потрібний для поставленої вище завдання.
  • Прямі руки і алгоритмічний (программістіческій) склад розуму.

Все добули? Тепер можна продовжувати.

Створюємо файл настройок

Для початку створюємо будь-який текстовий файл, даємо йому будь-яку назву і задаємо розширення xml, наприклад, options.xml. Врахуйте те, що файлу потрібно задати кодування UTF-8, так як UCOZ віддає вміст саме в цьому кодуванні. Інакше можлива поява каракулей або ієрогліфів замість російських символів у змінній. Якщо кириличних або інших, відмінних від латинського, букв не припускав, то можна залишити кодування як є. Я зазвичай юзаю для таких випадків Notepad2 .

В отриманий файл пишемо наступне:

Писати в файл більше нічого не потрібно. Цим буде займатися скрипт. Як Ви могли зрозуміти, в ньому і будуть зберігатися наші настройки.

Тепер заходимо в панель управління і проходимо по менюшке "Інструменти" - "Файловий менеджер", і заливаємо наш файл загальних параметрів в будь-яку зручну директорію. Безпосередньо в цей файл ми лазити не будемо, тому положення значення не має.


Залитий файл настройок UCOZ

Створюємо сторінку загальних параметрів

Приступаємо до створення сторінки редагування налаштувань.

Заходимо в панель управління. Йдемо шляхом: "Редактор сторінок" - "Управління сторінками сайту", натискаємо кнопку "Додати сторінку".

Розмічаємо, кому можна редагувати глобальні змінні, і прибираємо галочку з пункту "Додати посилання на сторінку в головне меню сайту". Логічно, що доступ залишаємо тільки адміністраторам.

Задаємо сторінці будь-яку назву. Наприклад: глобальні налаштування сайту.


Параметри сторінки налаштувань UCOZ

Далі у вмісті сторінки прописуємо форму для редагування прав. Код може бути таким:

Code

<Form action = "" id = "options-form">
<Div> Хто бачить рекламу: </ div>
<Div>
<Label>
<Input type = "checkbox" name = "admin" value = "ok">
адміністратори
</ Label>
</ Div>
<Div>
<Label>
<Input type = "checkbox" name = "moder" value = "ok">
Модератори
</ Label>
</ Div>
<Div>
<Label>
<Input type = "checkbox" name = "user" value = "ok">
Користувачі </ label>
</ Div>
<Div>
<Label>
<Input type = "checkbox" name = "guest" value = "ok">
гості
</ Label>
</ Div>
</ Form>

ВАЖЛИВО! У створюваної форми повинен бути ID. У значущих полів форми повинен бути заданий атрибут name, і він повинен бути унікальним в межах даної форми.

Тепер потрібно організувати функціонал збереження даних нашої форми в файл options.xml. Для цього я витратив пару годин свого життя, вивчив исходники сайтів UCOZ і вбудовані в нього скрипти. В результаті був складений скрипт, що виконує функцію збереження налаштувань в файл. Підключаємо даний скрипт. Додаємо після коду форми наступні рядки:

Code

<Script type = "text / javascript" src = "http://szenprogs.ru/scripts/umyopt.js"> </ script>
<Script type = "text / javascript"> <! -
$ (Function () {
_uMyOptions.init ( '# options-form', '/options.xml');
});
</ Script>

Функція _uMyOptions.init (id, file) виконує наступну роботу:

  • Завантажує настройки з файлу FILE в форму ID під час завантаження сторінки.
  • Зберігає введені глобальні змінні з форми ID в файл FILE.

Логічно, що id - це id форми, а file - це шлях і ім'я файлу від кореня сайту.

Тепер можна зберегти сторінку і відкрити її. Дивимося, що ми натворили.


Сторінка загальних параметрів UCOZ сайту

На даному етапі поля форми залишаться порожніми. Це нормальна поведінка, так як файл настройок поки порожній. Зараз вже можна спробувати поставити галочки і зберегти налаштування. Якщо все зроблено правильно, то при оновленні сторінки опції повинні відзначитися так, як Ви їх зберегли.

Використовуємо глобальні змінні

Висмикувати параметри з файлу налаштувань ми будемо вбудованим в UCOZ імпортом віддаленого коду. Створимо його.

Заходимо в панель управління і проходимо за наступним шляхом: "Дизайн" - "Імпорт віддаленого коду". На сторінці, тиснемо кнопку "Додати імпорт вилученої сторінки". В поле "URL адреса сторінки для імпортування коду" вставляємо посилання на наш файл настройок. Поле "Частота оновлення кеш файлу" ставимо можливе мінімальне значення. Зазвичай воно дорівнює 3 години. Тиснемо кнопку "Додати". Імпорт готовий.

Тепер запам'ятовуємо код імпорту. Зазвичай це $ RCODE_n $, де n - номер імпорту. Якщо імпорт у Вас один, то код виглядає так: $ RCODE_1 $. З нього і будемо витягувати наші змінні і їх значення.

Для отримання значення змінної можна використовувати 2 методи. Один використовується для виведення значення змінної на сторінці (скажімо, рекламний код), другий для використання в умовних операторах.

Висновок на сторінці

Для виведення значення глобальної змінної на сторінці використовується досить довгий код. Виглядає він так:

Code

&lt;? Substr (substr ($ RCODE_1 $, strpos ($ RCODE_1 $, '<name>') + len ( '<name>')), 0, strpos (substr ($ RCODE_1 $, strpos ($ RCODE_1 $, ' <name> ') + len (' <name> ')),' </ name> '))?>

Замість тексту name в коді ставимо назву поля форми (атрибут name елементів форми). Міняємо у всіх 5-и місцях коду. Назва змінної name обов'язково пишемо в нижньому регістрі.

Використання в умовних операторах

Для використання в умовних операторах можна обмежитися спрощеним кодом:

Code

&lt;? If (strpos ($ RCODE_1 $, '<name> value </ name>')! = -1)?>

Тут також текст name в коді міняємо на ім'я елемента форми (атрибут name). Замість тексту value використовуємо перевіряється значення. Назва змінної пишемо в нижньому регістрі, а value - враховувати регістр введення в форму.

Цей варіант найкраще використовувати для <input type = "checkbox">, <input type = "radio"> або <select>.

завершення завдання

На самому початку цієї розповіді була поставлена ​​задача. Тепер ми можемо її вирішити. У місці, де виводиться код реклами пишемо:

Code

&lt;? If ((strpos ($ RCODE_1 $, '<admin> ok </ admin>')! = -1 && $ GROUP_ID $ == 4)
|| (Strpos ($ RCODE_1 $, '<moder> ok </ moder>')! = -1 && $ GROUP_ID $ == 3)
|| (Strpos ($ RCODE_1 $, '<user> ok </ user>')! = -1 && $ GROUP_ID $ == 1)
|| (Strpos ($ RCODE_1 $, '<guest> ok </ guest>')! = -1 &amp;& $ GROUP_ID $ == 0))?>
Код рекламного блоку ...
&lt;? Endif?>

Тепер відображенням реклами можна управляти тільки з однієї сторінки сайту.

закруглюється

Ми навчилися використовувати свої власні глобальні змінні на сайті UCOZ. Варто мати на увазі кілька мінусів такого підходу. Значення змінних не дуже динамічні. Так як використовувався віддалений імпорт, зміни в файлі буде видно тільки через 3 години. Можна форсувати цю затримку. Для цього потрібно увійти в панель управління на сторінку віддаленого імпорту, відкрити імпорт на редагування і зберегти, чи не внісши жодних змін.

Також пам'ятайте, що файл настройок може містити не більше 1000 символів. В принципі, цього має вистачити з лишком.

На цій ноті закінчую.

Удачі в звершеннях!

Свої загальні налаштування (змінні) на UCOZ сайті
інструкції
Скрипти, інструкції, довідники

Все добули?
Amp;& $ GROUP_ID $ == 0))?
Lt;?
Endif?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: