[2.0.x] Board3 Portal

Список разделов phpBBex 2.x (заброшен) Мастерская 2.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 2.x и phpBB 3.1.x.
Модератор: Поддержка

Сообщение #21 SinglWolf » 06.03.2016, 17:56

Добавлю своих пять копеек в копилку портала.
Чтобы сделать главной страницей портал надо в файл .htaccess записать строчку:
Код: Выделить всё
DirectoryIndex app.php index.php
Остаётся неприятность в хлебных крошках. Ссылка там формируется такая: домен/app.php/portal
Решается просто, идём в каталог ext/board3/portal/event/, там есть 1 файл listener.php. Находим строку (132 у меня) с содержимым
Код: Выделить всё
'U_PORTAL'   => $portal_link
и меняем её на
Код: Выделить всё
'U_PORTAL'   => '/'
Чистим кеши и радуемся :smile:
Понимаю, что костыль, но работает. :biggrin:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #22 SinglWolf » 20.03.2016, 14:17

Кто-нибудь смог избавиться от
Код: Выделить всё
/app.php/portal
в адресной строке? :think:
Какие только правила в .htaccess не гуглил - не помогает. Которые есть - не работают...
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #23 Sumanai » 20.03.2016, 14:43

От app.php/ должно помогать включение реврайтов в админке, в "Настройки сервера"- "Включить URL Rewriting".
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #24 SinglWolf » 20.03.2016, 17:06

Sumanai:"Включить URL Rewriting".
Слона я и не приметил, блин :oops: :kettle:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #25 SinglWolf » 01.04.2016, 08:16

Тут на днях залез в Яндекс-вебмастер и увидел неприглядную картину:
Документ с урл /index.php является неканоническим. Посмотрел в заголовок этой страницы... И правда. Там ссылка на корень сайта. А в корне портал... У портала вообще нет канонической ссылки... :sad: Мдя... :think:
Я конечно не гуру во всех энтих премудростях, но почесав затылок, изобрёл костыль:
Ищем в каталоге стиля template/ файл overall_header.html и находим сроки, отвечающие за отображение канонической ссылки:
Код: Выделить всё
<!-- IF U_CANONICAL -->
   <link rel="canonical" href="{U_CANONICAL}">
<!-- ENDIF -->
И меняем на такое содержимое:
Код: Выделить всё
<!-- IF U_CANONICAL == "" -->
   <link rel="canonical" href="http://my_site.domain/">
<!-- ELSE --><!-- IF U_CANONICAL == "http://my_site.domain/" -->
   <link rel="canonical" href="{U_CANONICAL}index.php">
<!-- ELSE -->   
   <link rel="canonical" href="{U_CANONICAL}">
<!-- ENDIF --><!-- ENDIF -->
Теперь, надеюсь, поисковикам понравится.... :pray: Не забудьте в ссылках поставить имя своего сайта :smile:

Добавлено спустя 7 минут 42 секунды:
Сейчас глянул, для интереса, в заголовок страницы по ссылкам my_site.domain/ и my_site.domain/portal Каноническая ссылка указывает на корень сайта, что и требовалось. :clap:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #26 Sumanai » 01.04.2016, 11:31

Первая строчка сомнительная. Лучше вообще не добавлять каноникал на тех страницах, на которых он не определён. А то туда могут попасть и другие страницы.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #27 ЖЪРЧИК » 01.04.2016, 11:36

index.php убрать с главной как? я что то не понял где писать.
ЖЪРЧИК
Аватара
Репутация: 174
С нами: 9 лет 7 месяцев

Сообщение #28 Sumanai » 01.04.2016, 12:55

ЖЪРЧИК, вы вообще не поняли о чем идет речь.
В поиск.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #29 SinglWolf » 01.04.2016, 13:08

Sumanai, я же честно сказал, что изобрёл костыль. :smile: Посмотрим что скажет яша через пару-другую недель. :smoke:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #30 ЖЪРЧИК » 01.04.2016, 14:55

Sumanai, я понял что речь не об этом

Открыть: includes/functions.php
Найти:

'U_INDEX' => append_sid("{$phpbb_root_path}index.$phpEx"),

Заменить на:

'U_INDEX' => append_sid("{$phpbb_root_path}"),

или
DirectoryIndex index.php
ЖЪРЧИК
Аватара
Репутация: 174
С нами: 9 лет 7 месяцев

Сообщение #31 SinglWolf » 01.04.2016, 15:49

ЖЪРЧИК, я говорю про канонические ссылки в заголовках страницы. Если портал прикручен как главная сайта, то страница /index.php выпадает из поиска из-за неправильной канонической ссылки
Код: Выделить всё
<head>
[ ...... ]
<link rel="canonical" href="http://mydomain.lan/">
[ ...... ]
</head>
А должна быть такая ссылка
Код: Выделить всё
<head>
[ ...... ]
<link rel="canonical" href="http://mydomain.lan/index.php">
[ ...... ]
</head>
Вот я и придумал костыль как решить эту проблему. :smile:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #32 Sumanai » 01.04.2016, 16:06

SinglWolf:А должна быть такая ссылка
Вот её и нужно было править:
/index.php, найти
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/',
Заменить на
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/index.php',
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #33 SinglWolf » 01.04.2016, 16:28

Sumanai, можно и там, но при обновлении всё слетит, и ведь никто не напомнит :smile:
Скажите, пожалуйста, какая переменная в шаблоне указывает на адрес текущей страницы? Попробую переделать свой костыль.
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #34 Sumanai » 01.04.2016, 16:39

Можно расширением сделать, тогда ничего не слетит.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #35 SinglWolf » 01.04.2016, 16:47

Sumanai, кто бы мне сказал как это расширение сделать :think: Просто скажите какая переменная в шаблоне выдаёт текущий урл, пожалуйста. :pray:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #36 Sumanai » 01.04.2016, 16:57

SinglWolf, вы просто костылите, вместо решения проблемы. Такой переменной нет.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #37 SinglWolf » 01.04.2016, 17:04

Вот, переделал с учётом замечаний, озвученных выше. Может кому мой метод покажется приемлемым, ибо правка в /index.php всё равно оставляет страницу портала без канонической ссылки.
Код: Выделить всё
<!-- IF U_CANONICAL -->
   <!-- IF U_INDEX -->
      <link rel="canonical" href="{U_CANONICAL}index.php">
   <!-- ELSE -->
      <link rel="canonical" href="{U_CANONICAL}">      
   <!-- ENDIF -->
<!-- ELSE -->
   <!-- IF U_PORTAL -->
      <link rel="canonical" href="http://mydomain.lan/">
   <!-- ENDIF -->
<!-- ENDIF -->

Добавлено спустя 3 часа 8 минут:
Блин... Методом научного тыка и проверкой хождениям по всяким ссылкам своего форума костыль приобрёл такую форму
Переменная U_INDEX ведёт себя как переменная, пришлось проверять ссылку.
Добавка and S_CENTER_COLUMN оказалась нужна, если включен показ на всех страницах левой или правой колонки портала.
Код: Выделить всё
<!-- IF U_CANONICAL -->
   <!-- IF U_CANONICAL == "http://my_site.domain/" -->
      <link rel="canonical" href="{U_CANONICAL}index.php">
   <!-- ELSE -->
      <link rel="canonical" href="{U_CANONICAL}">      
   <!-- ENDIF -->
<!-- ELSE -->
   <!-- IF U_PORTAL and S_CENTER_COLUMN -->
      <link rel="canonical" href="http://my_site.domain/">
   <!-- ENDIF -->
<!-- ENDIF -->
Если править как
Sumanai:/index.php, найти
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/',
Заменить на
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/index.php',
то моя конструкция получится проще
Код: Выделить всё
<!-- IF U_CANONICAL -->
      <link rel="canonical" href="{U_CANONICAL}">      
<!-- ELSE -->
   <!-- IF U_PORTAL and S_CENTER_COLUMN -->
      <link rel="canonical" href="http://my_site.domain/">
   <!-- ENDIF -->
<!-- ENDIF -->
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #38 Sumanai » 01.04.2016, 20:26

SinglWolf:то моя конструкция получится проще
Опять таки лучше добавить прописывание каноникла в файлы портала, и тогда тему можно будет вообще не менять.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #39 SinglWolf » 01.04.2016, 20:31

Sumanai, я всеми конечностями "ЗА", но мои познания в движке форума ограничиваются построением таких вот костыликов. :oops: В файлах портала опять какое-то условие надо проверять... :nervious:
SinglWolf M
Аватара
Откуда: Россия, Башкортостан
Репутация: 39
С нами: 10 лет 7 месяцев

Сообщение #40 Neufoxet » 19.06.2016, 18:45

pisikot:А с русским как дела? от пред. версии брать?
https://www.phpbb.com/customise/db/extension/board3_portal_ext/support/topic/158451
Neufoxet
Репутация: 3
С нами: 7 лет 9 месяцев

Пред.След.

Вернуться в Мастерская 2.x