Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Имя пользователя

Опубликовано:

И снова здравствуйте!

 

Вот сижу - ковыраюсь в шаблоне, хочу сделать вывод [блока], после первого поста в теме, которое будет зависеть от того кто написал это первое сообщение.

 

Подскажите пожалуйста как получить в переменную имя стартера темы? Активно использую в шаблона php инклюды.

 

 

Заранее безумно благодарен! :angry:

Рекомендованные сообщения

Опубликовано:
  • Автор

Конец первого сообщений редактируется здесь:

skin_topic (просмотр темы) -> topic_end_first_post

 

В соседних шаблонах нащупал переменные:

$author['id']

$author['_members_display_name']

$author['member_number']

 

 

Но сравнение вроде:

<if="$author['id'] == 57">Ура работает</if>

При том что номер пользователя - стартера топика действительно 57 :angry:

Опубликовано:
  • Автор

Всё разобрался :)

Опубликовано:
  • Автор

И всё же нет, ничего не выходит - помогите пожалуйста! Как в любом месте шаблона/кода в переменную получить № пользователя, который создал тему?

Опубликовано:

Там немного разные переменные.

Автор, юзер, и еще что-то вроде.

В любом месте скина каждая конкретная переменная работать не будет.

Опубликовано:
  • Автор

Как я уже писал:

Я вот здесь

skin_topic (просмотр темы) -> topic_end_first_post

 

Я подключаю свой php файл вот так:

<!--exec.file="show.php"-->

 

Всё работет, но мне в файл нужно передать переменную, которая будет содержать Номер пользователя, который создал тему.

 

Как это реализовать?

Можно конечно, выпарсить URL, достать из него Номер Темы, потом через запрос в базе найти стартера темы, но по-моему это крайность и так не делается...

 

P.s. Привет, Фисана :)

Опубликовано:

Подождите ответа программистов :)

Они подскажут.

Опубликовано:
  • Автор
Подождите ответа программистов :)

Они подскажут.

Это как раз то что Я от тебя ждал :)

Программисты, помогите мне пожалуйста! :)

Опубликовано:

15 минут погодите

Опубликовано:
  • Автор

Ура! Хорошо, жду :)

Опубликовано:

Вообщем смысл такой :)

 

topic_end_first_post (skin_topic) это шаблон первого сообщение в "линейном" режиме. В "Стандартном" такой вещи вообще нету.

Но раз вам нужен именно этот шаблон, то:

переменная

$data['TOPIC']['starter_id'] - отвечает за ID топикстартера

$data['TOPIC']['starter_name'] - ник топикстартера

 

проверьте

Опубликовано:
  • Автор

Да - да, Я уже до дтого добрался))

 

Мне теперь эту переменную нужно передать в файл, пробую вот так:

<!--exec.file="ad-show.php?id={$data['TOPIC']['starter_id']}"-->

 

Т.е. пытаюсь GET методом передать эту переменную в файл, но увы - таким образом файл не подгружается вообще.

 

Как передать в файл переменную иначе?

Опубликовано:
  • Автор

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

Опубликовано:

OMG... Так не делается. Что у вас там в том файле? Это не через шаблоны делать надо, в уже внутри скрипта.

=========================================

Можете конешно попробовать вместо

<!--exec.file=""-->

написать

<!--exec.url="http://путь к файлу с ?id={$data['TOPIC']['starter_id']}"-->

 

метод возможно будет работать если у вас:

1. включены инклюды ссылок

2. на сервере нету ограничений по инклюдам

3. повезет

Опубликовано:
  • Автор

Ну что? Проблему решить можно?

 

P.s. У меня получилось через iframe реализовать, но он не катит - google его не любит :)

 

У меня там что-то вроде:

 

<?
$Member_id = $_GET['id'];

If ($Member_id == 32) {
  echo 'Тра-ля-ла';
} else {
  echo 'Бум-бум-бум';
}
?>

Опубликовано:

открываете

sources\lib\func_topic_linear.php

находите

$this->output .= $this->ipsclass->compiled_templates['skin_topic']->topic_end_first_post( array( 'TOPIC' => $this->topic, 'FORUM' => $this->forum ) );

до него вставляете свой код используя $this->topic['starter_id'] в качестве айди стартера и делаете так.

$this->topic['some_code'] = результат вашего кода

А в шаблоне уже вставите $data['TOPIC']['some_code'] как результат выполнения вашего скрипта

 

на вашем примере это будет выглядеть вот так:

if ($this->topic['starter_id'] == 32) 
{
  $this->topic['some_code'] = 'Тра-ля-ла';
} 
else 
{
  $this->topic['some_code'] = 'Бум-бум-бум';
}

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.