Статьи

Створення пункту меню в Joomla для входу на форум і перенесення реєстрації користувачів з SMF на сайт

  1. Створення пункту меню в Joomla, який буде вести на форум
  2. Форум буде відкриватися як самостійний ресурс
  3. Як зробити реєстрацію відвідувачів форуму на сайті
  4. Альтернативний спосіб переадресації користувачів

Привіт, шановні читачі блогу KtoNaNovenkogo.ru. У попередніх статтях цієї рубрики ми докладно розглянули встановлення та налаштування форуму SMF ) І компонента JFusion , домігшись інтеграції цього движка і Joomla .

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

Тепер нам залишилося тільки налаштувати перенаправлення користувачів з СМФ, бажаючих зареєструватися, на сайт (це особливо актуально якщо у вас конференція відкривається не всередині дизайну сайту, а в окремому вікні), а так само налаштувати спосіб відображення форуму і встановити модулі JFusion , Які будуть виводити на вебсайті ту чи іншу інформацію з конференції.

Створення пункту меню в Joomla, який буде вести на форум

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

Для створення такого пункту заходимо в адмінку Джумли (http://vash_sait.ru/administrator/) і підводимо миша до пункту «Усі меню» в верху вікна. У списку вибираємо то меню, в якому ми хочемо розмістити посилання на конференцію. При цьому у вас відкриється вікно з уже наявними там пунктами.

Вибір подальших дій залежить від того, як ви хочете налаштувати взаємне відображення: чи буде він показуватися всередині Joomla в області контенту або ж буде відкриватися в новому вікні без будь-якого додаткового обрамлення?

Спочатку розглянемо порядок дій для першого варіанту, коли SMF буде відкриватися всередині шаблону веб в області для контенту (там, де у вас зазвичай відображаються статті або виведений іншими компонентами контент).

Нам необхідно створити новий пункт, тому ми натискаємо на кнопку «Створити» у верхньому правому кутку вікна.

У відкритому дереві «Виберіть тип меню», клацаємо по напису «JFusion». Перед нами з'явиться вікно з настройками, що складається з лівого і правого блоків.

У лівому блоці налаштувань ви задаєте:

  1. в поле «Тема» (очевидно, «Конференція»)
  2. в поле «Ім'я користувача» можете задати вид посилання, якщо використовуєте ЧПУ (людино-зрозумілі урли), наприклад, при використанні сторонніх компонентів типу ARTIO JoomSEF або sh404SEF. Якщо ЧПУ (SEF) не використовуєте, то залиште це поле порожнім.
  3. в поле «Посилання» ви можете бачити Урл цієї майбутньої посилання, щоб мати можливість його скопіювати
  4. в поле «Показати в» можете вибрати меню, в якому з'явиться даний пункт
  5. в поле «Батьківський елемент» можна задати вкладеність (якщо вкладати не треба, то залиште варіант за замовчуванням «Верх»)
  6. в поле «Опубліковано» ставите галочку «Так» для того, щоб ваш новий пункт було видно на вебсайті
  7. в поле «Доступ» вибираєте кому він буде видно: або всім, або тільки зареєстрованим користувачам, або тільки адмінам (варіант «Спеціальний»)
  8. в поле «Відкривати в» можете вибрати: відкривати конференцію в цьому ж вікні (варіант «в цьому ж вікні з навігацією»), або в новій вкладці того ж самого вікна (варіант «новому вікні з навігацією»), або в новому вікні ( варіант «новому вікні без навігації»)

У правому блоці налаштувань ви задаєте:

  1. в поле «Плагін JFusion» Натискаючи на кнопку «Вибрати» і у спливаючому вікні, в полі «JFusion Plugin», вибираєте потрібний плагін (в нашому випадку - smf), після чого не забудьте натиснути кнопку «Save» в цьому ж вікні
  2. в поле «Візуальна інтеграція» вибираєте варіант «врапперов» (у мене варіант «Frameless» приводив до помилки) і тоді, при натисканні на створюваний пункт меню, форум відкриється всередині дизайну (шаблону) Джумли в області контенту.

    Якщо ви оберете варіант рішення в врапперов (wrapper), то можете розширити область для показу конференції за рахунок відключення показу всіх бічних модулів. Для цього потрібно буде:

    1. зайти в налаштування всіх бічних модулів по черзі і в поле «Меню» поставити галочку «Вибрати зі списку»
    2. потім, утримуючи Shift або Ctrl на клавіатурі, виділити всі пункти меню, крім створеного нами для SMF.
    3. в результаті, ці бічні модулі будуть видні всюди, крім сторінки з конференцією
  3. в поле «Смуги прокрутки у врапперов», на мій погляд, найкраще вибрати варіант «Автоматично», тоді довжина врапперов буде автоматично підлаштовуватися під довжину відкриваються на форумі сторінок і не буде з'являтися смуга прокрутки
  4. в поле «Ширина врапперов» в Joomla і «Висота врапперов» у мене коштує 100% для ширини і 500 для висоти wrapper. Це буде важливо, якщо ви вибрали в попередньому пункті варіант відмінний від «Автоматично».
  5. в поле «Автоопределение висоти під врапперов» і «Прозорий врапперов (wrapper)» я поставив галочку поруч з варіантом «Так» (можете спробувати і подивитися що зміниться, якщо поставити «ні»)

Не забудьте після закінчення вироблених налаштувань натиснути на кнопку «Зберегти» або «Застосувати» (при натисканні на кнопку «Зберегти» ваші налаштування збережуться і вас викине з цієї сторінки налаштувань, а при натисканні на кнопку «Застосувати» - ваші настройки також збережуться, але ви залишитеся на цій же сторінці).

Форум буде відкриватися як самостійний ресурс

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

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

Налаштування лівого блоку аналогічні описаним вище, за винятком з'явився поля «Посилання», в яке ми повинні вставити адресу нашого форуму:

http://vash_sait.ru/forum/index.php

Якщо назва папки, в яку ви встановлювали движок СМФ відмінно від Forum, то ви пишете в адресі її назву замість forum. В поле «Відкривати в» я вибрав варіант «новому вікні з навігацією», в результаті чого сторінка з конференцією відкривається в новій вкладці браузера.

Як зробити реєстрацію відвідувачів форуму на сайті

Суть наших дій буде полягати в наступному: оскільки ми заборонили реєстрацію користувачів в налаштуваннях СМФ, то тепер при переході по посиланню «Реєстрація» відвідувач бачить повідомлення про помилку. Це не є гуд і тому замість цього повідомлення добре б було пояснити користувачеві, що потрібно зробити для проходження реєстрації.

Тепер я розповім по порядку, як це здійснити. Нічого складно в цьому немає, але вам доведеться підключитися до вашого сервера по протоколу FTP для того, щоб ви могли редагувати деякі файли форумного движка.

Для початку відкриваємо на редагування файл Errors.russian.php, який ви зможете знайти пройшовши в своєму FTP-менеджері за наступним шляхом:

\ Forum \ Themes \ default \ languages ​​\ Errors.russian.php

.

Якщо ви використовуєте НЕ дефолтну тему оформлення для вашого форуму, то в цьому шляху, замість каталогу default, ви повинні заходити в каталог з назвою вашої теми. У тому текстовому редакторі, який використовуєте для редагування файлів (я користуюся Notepad ++, який можна завантажити тут ) За допомогою вбудованого пошуку знайдіть в цьому файлі рядок:

$ Txt [ 'registration_disabled'] = 'Вибачте, реєстрація в даний момент недоступна.';

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

$ Txt [ 'registration_disabled'] = 'Реєстрація здійснюється на сайті. <br> <br> Вводите, будь ласка, в форму реєстрації реальний e-mail, тому що на нього Вам прийде лист з активує посиланням. ';

Тепер при переході на сторінку реєстрації вашої конференції, ви побачите потрібний текст з потрібними посиланнями, але якщо ви подивитеся на верхню панель браузера, в якому відкрито ця сторінки, то побачите там напис 'Помилка!'. Це не є гуд і для виправлення цієї ситуації в SMF потрібно відкрити на редагування файл index.russian.php, пройшовши за наступним шляхом:

forum \ Themes \ default \ languages ​​\ index.russian.php

Скористайтеся пошуком в текстовому редакторі і знайдіть наступний рядок:

$ Txt [106] = 'Помилка!';

і замініть її на:

$ Txt [106] = 'Реєстрація';

Альтернативний спосіб переадресації користувачів

Уже після публікації цієї статті шановний Max (RuSellers.ru - сайт присвячений фахівцям і початківцям працівникам торгівлі) в коментарях запропонував дуже цікавий варіант переадресації користувачів і з форуму на сайт. Суть цього варіанта полягає в тому, що відразу після натискання на кнопку «Реєстрація» на конференції, користувач буде перекинуто на сторінку реєстрації в Джумла.

Просто і витончено. Для реалізації цього способу потрібно буде відкрити на редагування файл /forum/Themes/default//forum/Themes/index.temlate.php і знайти наведений нижче ділянку коду:

// If the user is a guest, also show [register] button. if ($ context [ 'user'] [ 'is_guest']) echo ($ current_action == 'register' || $ context [ 'browser'] [ 'is_ie4'])? '<Td class = "maintab_active_'. $ First. '"&gt; & Nbsp; </ td>': '', '<td valign = "top" class = "maintab_', $ current_action == 'register'? 'Active_back ':' back ',' "> <a href="', $scripturl,'?action=register"> ', $ txt [97],' </a> </ td> ', $ current_action ==' register '? '<Td class = "maintab_active_'. $ Last. '"> & Nbsp; </ td>': '';

а потім замінити його на наступний код:

// If the user is a guest, also show [register] button. if ($ context [ 'user'] [ 'is_guest']) echo ($ current_action == 'register' || $ context [ 'browser'] [ 'is_ie4'])? '<Td class = "maintab_active_'. $ First. '"&gt; & Nbsp; </ td>': '', '<td valign = "top" class = "maintab_', $ current_action == 'register'? 'Active_back ':' back ',' "> <a href="http://ваш_Сайт_на_Jomla/страніца_Регістраціі_на_сайте.php"> ', $ txt [97],' </a> </ td> ', $ current_action ==' register '? '<Td class = "maintab_active_'. $ Last. '"> & Nbsp; </ td>': '';

По суті, змінюється тільки невелику ділянку коду теми, що відповідає за формування адреси посилання на сторінку реєстрації. Замість http: //ваш_Сайт_на_Jomla/страніца_Регістраціі_на_сайте.php ви повинні підставити адресу сторінки для реєстрації користувачів в Джумла. Таким способом ми змінили адресу посилання для кнопки «Реєстрація», розташованої у верхньому меню форуму Simple Machines Forum:

Таким способом ми змінили адресу посилання для кнопки «Реєстрація», розташованої у верхньому меню форуму Simple Machines Forum:

Але ще залишається посилання на сторінку реєстрації, яка прописана в повідомленні «Ласкаво просимо, Гість. Будь ласка, увійдіть або зареєструйтеся. », Яке бачить незареєстрований користувач конференції над формою введення логіна і пароля.

», Яке бачить незареєстрований користувач конференції над формою введення логіна і пароля

Для того, щоб і ця посилання вела на сторінку реєстрації розташовану на вебсайті, потрібно внести зміни в файл Themes / default / languages ​​/ Index.russian.php. Знайдіть в цьому файлі наступну ділянку коду:

$ Txt [ 'welcome_guest'] = 'Ласкаво просимо,'. $ Txt [28]. '. Будь ласка, <a href="'. $scripturl.'?Action=login"> увійдіть </a> або <a href="'. $scripturl.'?Action=register"> зареєструйтеся </a>. ';

і замініть його на:

$ Txt [ 'welcome_guest'] = 'Ласкаво просимо,'. $ Txt [28]. '. Будь ласка, <a href="'. $scripturl.'?Action=login"> увійдіть </a> або <a href="http://ваш_Сайт_на_Jomla/страніца_Регістраціі_на_сайте.php"> зареєструйтеся </a>. ';

Тобто ми знову прописуємо шлях до сторінці реєстрації на сайті - http: //ваш_Сайт_на_Jomla/страніца_Регістраціі_на_сайте.php.

Ось, власне, і вся настройка реєстрації користувачів. Як я і говорив - нічого складного. Залишилася лише одна стаття по темі - остання (посилання на неї наведена на самому початку цієї публікації).

Удачі вам! До швидких зустрічей на сторінках блогу KtoNaNovenkogo.ru

Збірки по темі

Використовую для заробітку

If ($ context [ 'user'] [ 'is_guest']) echo ($ current_action == 'register' || $ context [ 'browser'] [ 'is_ie4'])?
Gt; & Nbsp; </ td>': '', '<td valign = "top" class = "maintab_', $ current_action == 'register'?
Active_back ':' back ',' "> <a href="', $scripturl,'?
Action=register"> ', $ txt [97],' </a> </ td> ', $ current_action ==' register '?
If ($ context [ 'user'] [ 'is_guest']) echo ($ current_action == 'register' || $ context [ 'browser'] [ 'is_ie4'])?
Gt; & Nbsp; </ td>': '', '<td valign = "top" class = "maintab_', $ current_action == 'register'?
Php"> ', $ txt [97],' </a> </ td> ', $ current_action ==' register '?

Новости