Перейти к контенту
  • 0

Добавить переменную в RenderRow


Vakhara

Вопрос

Вопрос совсем простой скорее всего, но у меня решить его не вышло. Подскажите плиз, как сделать так, чтоб в RenderRow для топиков в массив $author добавилось кастомное поле из таблицы members, ну допустим, обзовем его pole. Чтоб в шаблоне можно было вывести его содержимое для юзера путем простого Поле: {$autjor['pole']}. И при этом чтоб не нужно было писать дополнительных запросов, а просто подправить какой-нибудь существующий.
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

В 1.х это делается довольно легко.

Если в запросе к MySQL содержится выборка поля `pole`, тогда и в шаблоне доступна переменная {$autjor['pole']}

Думаю, в двушках должно примерно так же работать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Vakhara

читай по ссылке в моей подписи как данные в шаблон попадают

и поймешь как сделать-то что ты хочешь

 

Ты попробуй сам. Если не получится тогда поможем. ;)

 

Vakhara

Подсказка:

/sources/sql/mysql_queries.php

 

вот эти два запроса используются для запроса инфы при выводе темы

topics_get_posts

topics_get_posts_with_join - этот если выводятся дополнительные кастомные поля под аватарку

 

вот в этих запросах по m.что-то-там идет выборка из приджойниной таблички members

 

дергается это запрос(сы) на пример тут (в случае линейного показа темы):

/sources/lib/func_topic_linear.php

вот тут:

			$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderRow( $row, $poster );

если поглядеть от этого куска кода выше то видим где вызываются указанные мной запросы

 

откуда берутся данные в $poster?

отсюда:

			$return = $this->lib->parse_row( $row );

		$poster = $return['poster'];

 

смотрим по каким данные идет цикл while

while ( $row = $this->ipsclass->DB->fetch_row( $oq ) )

видно что для выбрки джанных используется линк на результат выполнения SQL-запроса $oq

 

смотрим выше где же у нас $oq получает свое значение

 

а вот тут

		$this->ipsclass->DB->cache_add_query( $query_type, array( 'pids' => $this->pids, 'scol' => $this->ipsclass->vars['post_order_column'], 'sord' => $this->ipsclass->vars['post_order_sort'] ) );

	$oq = $this->ipsclass->DB->simple_exec();

 

ну и финальный аккорд

что же за запрос там дерается? :D

 

смотрим выше по коду где $query_type получает значение

 

таких мест не много вот они

$query_type = 'topics_get_posts';

 

if ( $this->ipsclass->vars['post_order_column'] != 'post_date' )

{

$this->ipsclass->vars['post_order_column'] = 'pid';

}

 

if ( $this->ipsclass->vars['post_order_sort'] != 'desc' )

{

$this->ipsclass->vars['post_order_sort'] = 'asc';

}

 

if ($this->ipsclass->vars['au_cutoff'] == "")

{

$this->ipsclass->vars['au_cutoff'] = 15;

}

 

if ( $this->ipsclass->vars['custom_profile_topic'] == 1 )

{

$query_type = 'topics_get_posts_with_join';

}

 

ну а то что эти запросы надо в /sources/sql/mysql_queries.php глядеть это уже дело опыта и поиска :)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Спасибо большое и за подробное разъяснение и за ссылки :D Сохраню себе сейчас на комп и буду со всем этим разбираться. Сделать все получилось. Еще раз спасибо ;)
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.