Прощай пользователи без яваскрипта, прощай производительность на мобильных.Татьяна5 писал(а):$('#username_logged_in li.icon-logout a')
Расширения - это просто!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 12 лет 11 месяцев
- Благодарил (а): 97 раз
- Поблагодарили: 91 раз
- Забанен: Бессрочно
Re: Расширения - это просто!
phpBBex
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
У пользователей без js расширение, написанное полностью на js, не заработает, и вместо него останется стандартный функционал форума (чего не было при изменении кода модами на 3.0). Так что "прощай" это к 3.0 относится, а не к 3.1xisp писал(а):Прощай пользователи без яваскрипта
-
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 12 лет 11 месяцев
- Благодарил (а): 97 раз
- Поблагодарили: 91 раз
- Забанен: Бессрочно
Re: Расширения - это просто!
А ежели частично? Вот половину вёрстки добавят через событие, половину- яваскриптом. С выключенным яваскриптом выйдет каша.Татьяна5 писал(а):У пользователей без js расширение, написанное полностью на js, не заработает,
phpBBex
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
А это уже вопрос к авторам расширений. Код, который должен работать без js, должен и добавляться без негоxisp писал(а):А ежели частично?
-
- phpBB 3.0.0 RC2
- Сообщения: 1540
- Стаж: 13 лет 3 месяца
- Благодарил (а): 49 раз
- Поблагодарили: 77 раз
Re: Расширения - это просто!
Не знаю, где точнее задать вопрос. Некоторые расширения добавляют свои страницы. И если в 3.0x мы могли внести правку в viewonline.php , чтобы при просмотре "Кто сейчас на конференции" видеть, что кто то просматривает эту самую новую страницу из мода, то на 3.1 мы просто видим "Главная страница". Уважаемые создатели расширений, возможно ли решать эту проблему с помощью расширений? (возможно было бы спросить как то попроще)
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
-
- phpBB 2.0.5
- Сообщения: 473
- Стаж: 13 лет 4 месяца
- Благодарил (а): 109 раз
- Поблагодарили: 47 раз
Re: Расширения - это просто!
Добрый вечер! Помогите пожалуйста разобраться, где ошибка. Делаю расширение, чтобы сделать редирект со страниц &viev=next и &viev=previous.
Для примера, редирект с такой страницы:
Подобные страницы заблокированы в роботсе, но Гугл их все равно обрабатывает и хранит в индексе с сообщением о том что содержимое страницы заблокировано в файле роботс. Почему тогда он их хранит если заблокировано не понятно.
В viewtopic.php есть строки U_VIEW_OLDER_TOPIC и U_VIEW_NEWER_TOPIC (как раз previous - предыдущая тема, next - следующая тема соответственно). Сделал вот такое переопределение по аналогии с каноническими, но на странице в браузере возникает предупреждение о циклической переадресации и страница не открывается.... Сам код:
Для примера, редирект с такой страницы:
viewtopic.php?f=1&t=1&view=previous
на такую: viewtopic.php?f=1&t=1
Подобные страницы заблокированы в роботсе, но Гугл их все равно обрабатывает и хранит в индексе с сообщением о том что содержимое страницы заблокировано в файле роботс. Почему тогда он их хранит если заблокировано не понятно.
В viewtopic.php есть строки U_VIEW_OLDER_TOPIC и U_VIEW_NEWER_TOPIC (как раз previous - предыдущая тема, next - следующая тема соответственно). Сделал вот такое переопределение по аналогии с каноническими, но на странице в браузере возникает предупреждение о циклической переадресации и страница не открывается.... Сам код:
Код: Выделить всё
<?php
namespace webliberty\nextprev\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
protected $template;
protected $php_ext;
public function __construct(\phpbb\template\template $template, $php_ext)
{
$this->template = $template;
$this->php_ext = $php_ext;
}
static public function getSubscribedEvents()
{
return array(
'core.viewtopic_get_post_data' => 'get_post_data',
);
}
public function get_post_data($event)
{
$forum_id = $event['forum_id'];
$topic_id = $event['topic_id'];
$this->template->assign_vars(array(
'U_VIEW_OLDER_TOPIC' => redirect(append_sid("viewtopic.$this->php_ext", "f=$forum_id&t=$topic_id")),
'U_VIEW_NEWER_TOPIC' => redirect(append_sid("viewtopic.$this->php_ext", "f=$forum_id&t=$topic_id")),
));
}
}
?>
Начинал с phpBB 3.0.9, закончил на phpBB 3.3.11 и продал форум...
Подпись заверена нотариусом
Подпись заверена нотариусом

-
- Former team member
- Сообщения: 3468
- Стаж: 11 лет
- Благодарил (а): 39 раз
- Поблагодарили: 792 раза
Re: Расширения - это просто!
Это неправильно. Зачем вы редирект добавили?seodirection писал(а):Добрый вечер! Помогите пожалуйста разобраться, где ошибка. Делаю расширение, чтобы сделать редирект со страниц &viev=next и &viev=previous.
Для примера, редирект с такой страницы:viewtopic.php?f=1&t=1&view=previous
на такую:viewtopic.php?f=1&t=1
Код: Выделить всё
<?php 'U_VIEW_OLDER_TOPIC' => redirect(append_sid("viewtopic.$this->php_ext", "f=$forum_id&t=$topic_id")), 'U_VIEW_NEWER_TOPIC' => redirect(append_sid("viewtopic.$this->php_ext", "f=$forum_id&t=$topic_id")), ?>
Уберите редирект, и всё заработает. Но при этом добавьте обёртку с проверкой на то, является ли пользователь ботом, иначе обычные пользователи будут испытывать трудности.
Ужасно неудобно здесь, что у последнего сообщения нет кнопки "Цитата".
Я привык править цитируемые сообщения, а не слать их полностью, отчего убрали кнопку.
Уже несколько раз отослал благодарности вместо цитаты.
Думаю, нужна просто кнопка в личном разделе "Показывать ссылку Цитата в последнем сообщении темы". Те люди, кто делал полное цитирование при ненадобности (по незнанию того, что цитату нужно сокращать), вряд ли станут искать, где вернуть эту кнопку.
-
- phpBB 2.0.5
- Сообщения: 473
- Стаж: 13 лет 4 месяца
- Благодарил (а): 109 раз
- Поблагодарили: 47 раз
Re: Расширения - это просто!
Если убираю редирект, то вообще ничего не происходит, как было так и остаетсяLavIgor писал(а):Это неправильно. Зачем вы редирект добавили?
Начинал с phpBB 3.0.9, закончил на phpBB 3.3.11 и продал форум...
Подпись заверена нотариусом
Подпись заверена нотариусом

-
- Former team member
- Сообщения: 3468
- Стаж: 11 лет
- Благодарил (а): 39 раз
- Поблагодарили: 792 раза
Re: Расширения - это просто!
Вам нужен редирект со страниц по ссылкам или чтобы эти ссылки на странице менялись (чтобы роботы по ним попадали на ту же страницу)?
-
- phpBB 2.0.5
- Сообщения: 473
- Стаж: 13 лет 4 месяца
- Благодарил (а): 109 раз
- Поблагодарили: 47 раз
Re: Расширения - это просто!
Мне нужен редирект со страницы с параметром view=previous на страницу без этого параметра. Как для пользователей так и для роботов. В ветке 3.1 вообще нет ссылок ведущих на такие страницы (даже в исходном коде страницы), в 3.0.х были вот и нашел их робот. Но сейчас то это зачем.
Можно вообще сделать чтобы при переходе на такие страницы сервер 404 ответ давал, тогда уж 100% страницы выпали бы из индекса, но не знаю как сделать. На phpbb.com спросил как сделать редирект с помощью htaccess - никто не ответил.
Можно вообще сделать чтобы при переходе на такие страницы сервер 404 ответ давал, тогда уж 100% страницы выпали бы из индекса, но не знаю как сделать. На phpbb.com спросил как сделать редирект с помощью htaccess - никто не ответил.
Начинал с phpBB 3.0.9, закончил на phpBB 3.3.11 и продал форум...
Подпись заверена нотариусом
Подпись заверена нотариусом

-
- Former team member
- Сообщения: 3468
- Стаж: 11 лет
- Благодарил (а): 39 раз
- Поблагодарили: 792 раза
Re: Расширения - это просто!
Тогда Вы можете проверить GET-параметр view на соответствие previous или next.seodirection писал(а):Мне нужен редирект со страницы с параметром view=previous на страницу без этого параметра. Как для пользователей так и для роботов. В ветке 3.1 вообще нет ссылок ведущих на такие страницы (даже в исходном коде страницы), в 3.0.х были вот и нашел их робот. Но сейчас то это зачем.
И только при этом соответствии делать редирект на отдельной строке.
-
- Former team member
- Сообщения: 1965
- Стаж: 15 лет 1 месяц
- Благодарил (а): 57 раз
- Поблагодарили: 622 раза
Re: Расширения - это просто!
seodirection,
Сделай редирект с помощью .htaccess и замени свою функцию, что-бы заменить адреса на страницах.
Сделай редирект с помощью .htaccess и замени свою функцию, что-бы заменить адреса на страницах.
Код: Выделить всё
public function get_post_data($event)
{
$forum_id = $event['forum_id'];
$topic_id = $event['topic_id'];
$this->template->assign_vars(array(
'U_VIEW_OLDER_TOPIC' => append_sid("{$this->phpbb_root_path}viewtopic.$this->php_ext", "f=$forum_id&t=$topic_id"),
'U_VIEW_NEWER_TOPIC' => append_sid("{$this->phpbb_root_path}viewtopic.$this->php_ext", "f=$forum_id&t=$topic_id"),
));
}
-
- phpBB 2.0.5
- Сообщения: 473
- Стаж: 13 лет 4 месяца
- Благодарил (а): 109 раз
- Поблагодарили: 47 раз
Re: Расширения - это просто!
Anvar, так нужно что-то одно наверно, если редирект в .htaccess сделать, то зачем расширение это, какую функцию выполняет? Попробовал заменить функцию и снова циклическая переадресация. Совсем запутался. Я редирект не знаю как сделать такой, гугл тоже не знает
Поэтому и начал копать в сторону расширения этого...

Начинал с phpBB 3.0.9, закончил на phpBB 3.3.11 и продал форум...
Подпись заверена нотариусом
Подпись заверена нотариусом

-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Расширения - это просто!
seodirection, LavIgor дает правильный совет. Переменные шаблона тут в принципе не нужны, нужна проверка параметра и вызов в зависимости от этого redirect. Только не передавайте redirect в шаблон, достаточно просто вызова этой функции.