Страница 1 из 1
[3.1] Изменение тайтлов страниц у расширения
Добавлено: 31.08.2017 23:26
rst
Есть платно написанное расширение. Оно динамически генерирует страницы с контентом с разными параметрами и пагинацией. Переменные для вывода в шаблон названий страниц и их номеров уже есть. На основе этого я сделал везде хлебные крошки. Хочу добавить всем страницам разные тайтлы по аналогии с крошками. Но совершенно не понимаю, как врисовывать их в шаблоне, если сам тайтл формируется в php:
Код: Выделить всё
page_header($this->user->lang['DIRECTORY']);
$this->template->set_filenames(array(
'body' => directory.html'));
Подскажите направление, пожалуйста.
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 0:26
Sheer
Код: Выделить всё
page_header('Бла-бла пешу здеся што хачу');
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 0:43
rst
Т.е. в кавычки берем условную конструкцию и она исполняется? Ушел проверять.
Отправлено спустя 2 минуты 27 секунд:
ээммммм, в php же не работают шаблоны? Те надо использовать условные конструкции и переменные на php?
А нельзя передать формирование тайтла в шаблон? События там точно есть.
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 0:52
Sheer
Код: Выделить всё
$header = ($fid) ? 'Мой заголовок' : 'Другой заголовок';
page_header($header);
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 1:47
rst
Суть понял. Но это тот ещё ад. ) Часть нужных переменных берется из базы в виде линков. Чтобы их переделать в текст (для вывода в тайтл нужен текст) надо заново переопределять. Как-то я не готов морально. )
Попробуем зайти с другой стороны и упростить себе задачу. У меня есть переменная страницы, которая формируется вот так:
Код: Выделить всё
'PAGE_NUMBER' => $this->pagination->on_page($count, $per_page, $start),
В ней откуда-то берется тег <strong>. В коде вроде он нигде не конкатинируется, значит, переменная в базе определена с этим тэгом. Мне же переменная нужна без тегов. Как очистиить $count и $start от тэгов?
Формируются вроде так:
Код: Выделить всё
$count = (int) $this->db->sql_fetchfield('total');
$start = $this->request->variable('start', 0);
При этом далее по коду нет ничего такого, что бы приклеивало <strong> ((
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 2:24
Sheer
rst писал(а): ↑01.09.2017 1:47откуда-то берется тег <strong>
Отсюда
language/ru/common.php
Код: Выделить всё
'PAGE_OF' => 'Страница <strong>%1$d</strong> из <strong>%2$d</strong>',
Номер текущей страницы можно получить так
Код: Выделить всё
$current_page_number = $this->pagination->get_on_page($per_page, $start);
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 16:37
rst
Ништяк, всё отлично получилось, спасибо. С номером тоже понял.
Последний вопрос, наверное, идиотский. Если есть переменная, содержащая ссылку на профиль юзвера в виде:
Код: Выделить всё
<a href="./memberlist.php?mode=viewprofile&u=7020" class="username">xxxx</a>
можно ли отсюда выдернуть строку xxxx?
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 17:16
Sheer
Можно. Только у меня тоже идиотский вопрос. А зачем? Если это значение уже где-то определено, иначе как бы оно попало в ссылку?
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 17:37
rst
Потому что я не могу понять, как работает get_username_string - она требует 3 аргумента - ничего не понятно (
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 17:49
Sheer
Код: Выделить всё
$user_name = get_username_string('full', $pic['user_id'], $pic['username'], $pic['user_colour']);
Что такое
user_id
,
username
и
user_colour
понятно?
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 18:39
rst
Да, я прописываю режим 'username' и беру из функции $pic['username']
А мне выдается ошибка, что мало аргументов.
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 19:27
Sheer
Это не функция, а массив.
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 20:33
Татьяна5
rst писал(а): ↑01.09.2017 18:39А мне выдается ошибка, что мало аргументов.
В функции
get_username_string
должно быть 4 аргумента, независимо от того, что в результате хотим получить
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 21:16
rst
Теперь понял. Всё получилось. Я думал она может выборочно вытаскивать.
Re: [3.1] Изменение тайтлов страниц у расширения
Добавлено: 01.09.2017 22:22
Татьяна5
Может выборочно возвращать значения, но аргументы передавать в любом случае надо все заявленные