Skocz do zawartości
  • 0
Warmix

Id tematów

Pytanie

Gdy tworzę nowego hooka dotyczącego widoku forum, to w jakiej zmiennej przechowywane są zmienne tematów wyświetlanych w danym forum?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

27 odpowiedzi na to pytanie

Polecane posty

  • 0

Ale jest to jest typ hooka? bo jeśli to jest hook typu: "hook szablonu" to nie masz w nim dostępu do tego typu zmiennych

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

W takim razie jaki to musi być typ? Chciałbym zrobić coś takiego, że jeśli temat ma jakieś pole o id 1, to obok nazwy tematu wyświetlany jest obrazek.

Edytowano przez Warmix

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

zrób sobie nadpisywanie skinów skin_forums i nadpisz metodę topic i tam już masz dostęp do wszystkich danych danego tematu

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Jest może jakiś poradnik? Nie proszę o gotowce, ale nowy jestem i trzeba mi jakichś wskazówek... potem już pójdzie z górki, jak już zrozumiem mniej więcej, co i jak działa :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

ehh... co powinien zawierać plik php? Tworzę różne funkcje, chcę nadpisać, ale nadal nic się nie dodaje ;/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

ehh... co powinien zawierać plik php? Tworzę różne funkcje, chcę nadpisać, ale nadal nic się nie dodaje ;/

 

to zalezy co ma robic

 

wpisywanie byle czego jest bezsensowne

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Tzn. ja to rozumiem tak, że jakąś istniejącą funkcję nadpisuje ta stworzona przeze mnie funkcja... mylę się? A chcę, na razie, tak dla przykładu, aby jakikolwiek tekst wyświetlał się obok nazw tematu oraz chciałbym się dowiedzieć, w jakiej zmiennej mam dostępne Id danego wyświetlonego tematu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

zobacz sobie do pliku skin_forums.php w katalogu cache/skin_cache/.../ i na tą funkcję to zobaczysz co powinna zawierać Twoja

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Nie mam takiego pliku. Jest inny, podobny plik i jedyny z podobną nazwą znajdujący się w admin\applications\forums\skin_cp o nazwie cp_skin_forums.php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

oczywiście że masz. Jeśli nie miał byś takiego pliku to nie działała by Ci strona główna forum np. /cache/skin_cache/cacheid_1/skin_forum.php

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

1. Ok, czyli położenie określa się z pomocą tego?:

 

IPSLib::locationHasHooks( 'skin_forum', $this->_funcHooks['topic']

 

2. Po extends powinno być skin_forums(~id~) czy skin_forum(~id~)?

3. Od razu po nadpisaniu pliku zostaje on wczytany, czy może trzeba poczekać? W tym pliku skin_forum.php znalazłem swoją funkcję, którą wcześniej pisałem, ale nic nie wychodziło Teraz po nadpisaniu ponownie sprawdzam plik skin_forum.php i nic nie nadpisało się. Tak ma być?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Ad 1. a do czego Ci to jest potrzebne bo nie rozumiem

Ad 2. skin_forum(~id~).

Ad 3. Jak tworzysz hook w acp, to zależy w jakiej kolejności stworzysz plik. Jeśli najpierw stworzysz i dodasz go w acp, to po zapisaniu hooka będzie widoczne. Jeśli najpierw dodasz hook a później plik, to musisz edytować hook i zapisać ponownie, żeby przebudowało sobie co trzeba. Musisz tylko pamiętać, że ten plik nie może się zaczynać od

<?php
tzn, jeśli potrzebujesz dla swojego edytora użyć tego to musisz dać
//<?php
bo inaczej nie będzie działać.
  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

1. Chodzi o ustawienie położenia, ale no nic... może wyjdzie mi to, to jakoś ogarnę.

 

Jeszcze takie pytanko. Plik php tworzony w hooks służy głównie do tego, żeby przypisać zmiennej w stylach to, co jest w Ustawieniach - tam w grupach ustawień?

 

(Podstawa to zrozumienie, a nadal tego nie ogarniam, bo pierwszy raz pracuję na takim czymś, ale muszę się nauczyć - może się uda :p)

A i nie ma może jakiegoś poradnika dotyczącego połączeń między tym panelem tworzenia hooków, pliku php, ustawień grupy, stylu, języka? Co i w jakich zmiennych, czy funkcjach przekazuje czemu itd? :D

Edytowano przez Warmix

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

W plikach php w hooks robisz to co trzeba... Wszystko zależy od hooka, jeden tylko przypisze do zmiennej $a jakąś flagę a inny hook pobierze z bazy dane, obrobi je i przekaże do szablonu. Z ustawień nie trzeba nic przypisywać bo w każdym szablonie masz dostęp do ustawień przez zmienną $this->settings

 

Co i w jakich zmiennych to się nie da opisać. To podstawy php :)

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

aha, czyli jeśli np. chcę zwrócić jakąkolwiek zmienną czy funkcję, to trzeba zdeklarować je w pliku php, a potem wywołać w szablonie? Wystarczy użycie {} czy //<?php musi być użyte? W jakiej zmiennej w tym pliku php, jeśli cały hook dotyczy przeciążenia skina, zawarte są id tematów?

 

No i pozostaje kwestia tego wyświetlania. W przypadku hooku szablonu tam deklaruje się, gdzie ma być coś wyświetlane, a jak to jest z tym przeciążeniem? W pliku php, czy może gdzieś w szablonie należy podać, w którym miejscu ma być wyświetlane to, co podane jest w bicie szablonu? Chyba, że może to inaczej działa?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Nie, w przeciążeniu skina musisz nadpisać daną funkcję, czyli operujesz na kodzie z metody zawartej w skin_xxx.php np. W Twoim przypadku nadpisujesz funkcję topic:

function topic($data, $forum_data, $other_data, $inforum) {
$IPBHTML = "";
if( IPSLib::locationHasHooks( 'skin_forum', $this->_funcHooks['topic'] ) )
{
$count_985ab4729e294b1dbba28ef8a6776909 = is_array($this->functionData['topic']) ? count($this->functionData['topic']) : 0;
$this->functionData['topic'][$count_985ab4729e294b1dbba28ef8a6776909]['data'] = $data;
$this->functionData['topic'][$count_985ab4729e294b1dbba28ef8a6776909]['forum_data'] = $forum_data;
$this->functionData['topic'][$count_985ab4729e294b1dbba28ef8a6776909]['other_data'] = $other_data;
$this->functionData['topic'][$count_985ab4729e294b1dbba28ef8a6776909]['inforum'] = $inforum;
}
$IPBHTML .= "" . ((($this->memberData['is_mod'] AND ! $data['approved']) OR $data['_isDeleted']) ? ("<tr itemscope itemtype=\"http://schema.org/Article\" class='__topic " . ((!$data['folder_img']['is_read']) ? ("unread") : ("")) . " expandable moderated' id='trow_{$data['_tid']}' data-tid=\"{$data['_tid']}\">") : ("<tr itemscope itemtype=\"http://schema.org/Article\" class='__topic " . ((!$data['folder_img']['is_read']) ? ("unread") : ("")) . " expandable' id='trow_{$data['_tid']}' data-tid=\"{$data['_tid']}\">")) . "
	<td class='col_f_icon altrow short'>
		" . ( method_exists( $this->registry->getClass('output')->getTemplate('global_other'), 'generateTopicIcon' ) ? $this->registry->getClass('output')->getTemplate('global_other')->generateTopicIcon($data['folder_img'], isset($data['_unreadUrl']) ? $data['_unreadUrl'] : '') : '' ) . "
	</td>
	<td class='col_f_content " . (($this->memberData['is_mod'] == 1 || $forum_data['permissions']['TopicSoftDelete']) ? (" with_mod_links") : ("")) . "'>
		" . (($data['_answeredPid'] !== false) ? ("
			<a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=forums&amp;section=findpost&amp;pid={$data['_answeredPid']}", "public",'' ), "", "" ) . "\"><span class='ipsBadge has_icon ipsBadge_green'><img class='icon' src=\"{$this->settings['img_url']}/icon_check_white_8px.png\"> {$this->lang->words['topic_solved']}</span></a>
		") : ("")) . "
		" . (($data['_archiveFlag'] == 'archived' && $this->lang->words['topic_is_archived']) ? ("
			<span class='ipsBadge ipsBadge_lightgrey'>{$this->lang->words['topic_is_archived']}</span>
		") : ("")) . "
		" . (($data['_archiveFlag'] == 'working') ? ("
			<span class='ipsBadge ipsBadge_grey'>{$this->lang->words['topic_is_beingarchived']}</span>
		") : ("")) . "
		" . (($data['approved'] == 0) ? ("
			<span class='ipsBadge ipsBadge_orange'>{$this->lang->words['f_queued_badge']}</span>
		") : ("" . ((($this->memberData['is_mod'] AND $data['_hasqueued'])) ? ("
				<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showtopic={$data['tid']}&amp;modfilter=invisible_posts", "public",'' ), "{$data['title_seo']}", "showtopic" ) . "' title='{$this->lang->words['view_uapproved_posts']}' data-tooltip=\"" . sprintf( $this->lang->words['topic_queued_count'], $data['topic_queuedposts'] ) . "\"><span class='ipsBadge ipsBadge_orange'>{$this->lang->words['f_queued_badge']}</span></a>
			") : ("")) . "")) . "
		" . ((!empty($data['tags']['formatted']['prefix'])) ? ("
			{$data['tags']['formatted']['prefix']}
		") : ("")) . "
		" . ((! $inforum && $data['nav']) ? ("
			".$this->__f__ed35f3e3a5802cc37ffe52951ca6caad($data,$forum_data,$other_data,$inforum)."		") : ("")) . "
		{$data['prefix']}
		<h4>
			<a itemprop=\"url\" id=\"tid-link-{$data['_tid']}\" href=\"{$data['_url']}\" title='" . strip_tags($data['title']) . " {$this->lang->words['topic_started_on']} " . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($data['start_date'],"LONG", 0)) . "' class='topic_title' " . (($data['_isDeleted']) ? ("data-tooltip=\"" . sprintf( $this->lang->words['tdb__forumindex'], $other_data['sdData'][ $data['tid'] ]['members_display_name'] ) . " " . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($other_data['sdData'][ $data['tid'] ]['sdl_obj_date'],"long", 0)) . "
					" . (($forum_data['permissions']['SoftDeleteReason']) ? ("" . (($other_data['sdData'][ $data['tid'] ]['sdl_obj_reason']) ? ("{$this->lang->words['dlt_reason']} {$other_data['sdData'][ $data['tid'] ]['sdl_obj_reason']}") : ("{$this->lang->words['tdb__noreasongi']}")) . "") : ("")) . "
				\"") : ("")) . ">
				<span itemprop=\"name\">" . IPSText::truncate( $data['title'], 130 ) . "</span>
			</a>
		</h4>
		<br />
		<span class='desc lighter blend_links'>
			" . sprintf( $this->lang->words['topic_started_by'], $data['starter'] ) . " <span itemprop=\"dateCreated\">" . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($data['start_date'],"DATE", 0)) . "</span>
			" . ((isset($data['tags']) AND $data['tags']) ? ("
				&nbsp; <img src='{$this->settings['img_url']}/icon_tag.png' /> {$data['tags']['formatted']['truncatedWithLinks']}
			") : ("")) . "
		</span>
		" . ((isset( $data['pages'] ) AND is_array( $data['pages'] ) AND count( $data['pages'] )) ? ("
			<ul class='mini_pagination'>
			".$this->__f__c738131e930ef7a1dca68f6fb6b981fa($data,$forum_data,$other_data,$inforum)."			</ul>
		") : ("")) . "
	</td>
	" . (($this->registry->permissions->check( 'read', $forum_data ) && $data['state'] != 'link') ? ("
	<td class='col_f_preview __topic_preview'>
		<a href='{$data['_url']}' class='expander closed' title='{$this->lang->words['view_topic_preview']}'>&nbsp;</a>
	</td>
	") : ("
	<td></td>
	")) . "
	<td class='col_f_views desc blend_links'>
		<ul>
			<li>
				" . (($data['state'] != 'link') ? ("" . (($data['folder_img']['is_hot']) ? ("
						<span class='ipsBadge ipsBadge_orange'>{$this->lang->words['topic_is_hot']}</span>&nbsp;
					") : ("")) . "
					" . (($this->memberData['member_id'] && $data['_archiveFlag'] != 'archived') ? ("<a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=extras&amp;section=stats&amp;do=who&amp;t={$data['tid']}", "public",'' ), "", "" ) . "\" onclick=\"return ipb.forums.retrieveWhoPosted( {$data['tid']} );\">") : ("")) . "" . $this->registry->getClass('class_localization')->formatNumber( $data['posts'] ) . " " . ((intval($data['posts']) == 1) ? ("{$this->lang->words['reply']}") : ("{$this->lang->words['replies']}")) . "" . (($this->memberData['member_id'] && $data['_archiveFlag'] != 'archived') ? ("</a>") : ("")) . "
					<meta itemprop=\"interactionCount\" content=\"UserComments:{$data['posts']}\"/>") : ("")) . "
			</li>
			<li class='views desc'>" . $this->registry->getClass('class_localization')->formatNumber( $data['views'] ) . " {$this->lang->words['views']}</li>
		</ul>
	</td>
	" . (($this->memberData['gbw_view_last_info']) ? ("<td class='col_f_post'>
		" . ( method_exists( $this->registry->getClass('output')->getTemplate('global'), 'userSmallPhoto' ) ? $this->registry->getClass('output')->getTemplate('global')->userSmallPhoto(array_merge( $data, array( 'alt' => sprintf( $this->lang->words['findex_userphoto_alt'], $data['title'], $data['members_display_name'] ) ) )) : '' ) . "
		<ul class='last_post ipsType_small'>
			<li>{$data['last_poster']}</li>
			<li>
				<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showtopic={$data['tid']}&amp;view=getlastpost", "public",'' ), "{$data['title_seo']}", "showtopic" ) . "' title='{$this->lang->words['goto_last_post']}: {$data['title']}'>
					" . (($data['last_real_post']) ? ("
						" . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($data['last_real_post'],"DATE", 0)) . "
					") : ("
						" . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($data['last_post'],"DATE", 0)) . "
					")) . "
				</a>
			</li>
		</ul>
	</td>") : ("")) . "
	" . (($this->memberData['is_mod'] == 1 and $inforum == 1) ? ("" . (($data['_isArchived']) ? ("
			<td class='col_f_mod short'>&nbsp;</td>
		") : ("<td class='col_f_mod short'>
				<a href='#' class='ipsModMenu' id='topic_mod_{$data['real_tid']}' title='{$this->lang->words['mod_actions']}'>&nbsp;</a>
				" . (($data['moddable']) ? ("" . (($data['tidon'] == 0) ? ("<input type='checkbox' class='input_check topic_mod' id='tmod_{$data['real_tid']}' data-approved=\"{$data['approved']}\" data-open=\"" . (($data['state'] == 'open') ? ("1") : ("0")) . "\" data-pinned=\"{$data['pinned']}\" />") : ("<input type='checkbox' class='input_check topic_mod' id='tmod_{$data['real_tid']}' checked='checked' data-approved=\"{$data['approved']}\" data-open=\"" . (($data['state'] == 'open') ? ("1") : ("0")) . "\" data-pinned=\"{$data['pinned']}\" />")) . "") : ("")) . "
				" . (($data['_isDeleted']) ? ("<ul id='topic_mod_{$data['real_tid']}_menucontent' class='ipbmenu_content' style='display: none'>
						" . (($forum_data['permissions']['TopicSoftDeleteRestore']) ? ("
							<li class='t_restore'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;t={$data['tid']}&amp;st={$this->request['st']}&amp;auth_key={$this->member->form_hash}&amp;do=sundelete", "public",'' ), "", "" ) . "' title='{$this->lang->words['dlt_restore_topic']}'>{$this->lang->words['dlt_restore_topic']}</a></li>
						") : ("")) . "
						" . (($this->memberData['g_is_supmod'] == 1 || $this->memberData['forumsModeratorData'][ $forum_data['id'] ]['delete_topic']) ? ("
							<li><a class='t_delete' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;do=topicchoice&amp;tact=deletedo&amp;f={$forum_data['id']}&amp;st={$this->request['st']}&amp;selectedtids[{$data['real_tid']}]={$data['real_tid']}&amp;auth_key={$this->member->form_hash}", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_delete']}'>{$this->lang->words['topic_delete']}</a></li>
						") : ("")) . "
					</ul>") : ("" . (($this->memberData['is_mod'] == 1  || $forum_data['permissions']['TopicSoftDelete']) ? ("<ul id='topic_mod_{$data['real_tid']}_menucontent' class='ipbmenu_content' style='display: none'>
							" . (($data['approved'] == 0) ? ("
								<li><a class='t_approve' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;st={$this->request['st']}&amp;t={$data['real_tid']}&amp;auth_key={$this->member->form_hash}&amp;do=topic_approve&amp;from=forum", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_approve']}'>{$this->lang->words['topic_approve']}</a></li>
							") : ("")) . "
							<li><a class='t_rename' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;t={$data['tid']}&amp;auth_key={$this->member->form_hash}&amp;do=05", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_rename']}'>{$this->lang->words['topic_rename']}</a></li>
							" . (($data['state'] != 'link') ? ("" . (($data['pinned'] && ($this->memberData['g_is_supmod'] OR $this->memberData['forumsModeratorData'][ $forum_data['id'] ]['pin_topic'])) ? ("
									<li><a class='t_pin' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;t={$data['tid']}&amp;st={$this->request['st']}&amp;auth_key={$this->member->form_hash}&amp;do=16&amp;from=forum", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_unpin']}'>{$this->lang->words['topic_unpin']}</a></li>
								") : ("" . (($this->memberData['g_is_supmod'] OR $this->memberData['forumsModeratorData'][ $forum_data['id'] ]['unpin_topic']) ? ("
										<li><a class='t_pin' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;t={$data['tid']}&amp;st={$this->request['st']}&amp;auth_key={$this->member->form_hash}&amp;do=15&amp;from=forum", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_pin']}'>{$this->lang->words['topic_pin']}</a></li>
									") : ("")) . "")) . "") : ("")) . "
							" . (($data['state'] == 'closed' && $other_data['can_open_topics']) ? ("
								<li><a class='t_lock' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;t={$data['tid']}&amp;st={$this->request['st']}&amp;auth_key={$this->member->form_hash}&amp;do=01", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_open']}'>{$this->lang->words['topic_open']}</a></li>
							") : ("")) . "
							" . (($data['state'] == 'open' && $other_data['can_close_topics']) ? ("
								<li><a class='t_lock' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;t={$data['tid']}&amp;st={$this->request['st']}&amp;auth_key={$this->member->form_hash}&amp;do=00&amp;_from=forum", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_close']}'>{$this->lang->words['topic_close']}</a></li>
							") : ("")) . "
							" . (($data['state'] != 'link' && $other_data['can_move_topics']) ? ("
								<li><a class='t_move' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;st={$this->request['st']}&amp;auth_key={$this->member->form_hash}&amp;do=topicchoice&amp;tact=move&amp;selectedtids={$data['tid']}", "public",'' ), "", "" ) . "'>{$this->lang->words['topic_move']}</a></li>
							") : ("")) . "
							" . (($this->memberData['g_is_supmod'] == 1 || $forum_data['permissions']['TopicSoftDelete']) ? ("
								<li><a class='t_hide' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;f={$forum_data['id']}&amp;st={$this->request['st']}&amp;t={$data['real_tid']}&amp;auth_key={$this->member->form_hash}&amp;do=03", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_hide']}'>{$this->lang->words['topic_hide']}</a></li>
							") : ("")) . "" . (($this->memberData['g_is_supmod'] == 1 || $this->memberData['forumsModeratorData'][ $forum_data['id'] ]['delete_topic']) ? ("
								<li><a class='t_delete' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=moderate&amp;section=moderate&amp;do=topicchoice&amp;tact=deletedo&amp;f={$forum_data['id']}&amp;st={$this->request['st']}&amp;selectedtids[{$data['real_tid']}]={$data['real_tid']}&amp;auth_key={$this->member->form_hash}", "public",'' ), "", "" ) . "' title='{$this->lang->words['topic_delete']}'>{$this->lang->words['topic_delete']}</a></li>
							") : ("")) . "
						</ul>") : ("")) . "")) . "
				<script type='text/javascript'>
					new ipb.Menu( $('topic_mod_{$data['real_tid']}'), $('topic_mod_{$data['real_tid']}_menucontent') );
				</script>
			</td>")) . "") : ("")) . "
</tr>
" . ((isset($data['_adCode']) AND $data['_adCode']) ? ("<tr>
	<th scope='col' colspan='" . (($this->memberData['is_mod'] == 1) ? ("6") : ("5")) . "'>
		{$data['_adCode']}
	</th>
</tr>") : ("")) . "";
return $IPBHTML;
}

więc musisz ręcznie nadpisać. Ale jeśli Twoje zmiany są w tabeli topics to są automatycznie w szablonie zasadniczym. Jeśli natomiast są w tabeli xyz to możesz zrobić tak:

function topic($data, $forum_data, $other_data, $inforum) {
$cos = $this->DB->buildAndFetch(...);

$data[ 'moje_dane' ] = $cos;


return parent::topic($data, $forum_data, $other_data, $inforum);
}

i wtedy normalnie sobie w skinie możesz umieścić swój kod

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Pisząc 'nadpisać' masz na myśli to, że trzeba nadpisać treść, jaka jest w szablonie w bicie 'topic' w widoku forum? Czy trzeba stworzyć nowy bit i w nim wkleić tą treść z topic i wprowadzić tam zmiany? (oczywiście chodzi o stworzenia hooka). Przyznam, że próbowałem tym drugim sposobem, no ale nic się nie nadpisuje i nadal nie mam jakiekolwiek tekstu obok nazwy tematu... PS. Jakie jest powiązanie między plikiem, a szablonem?

 

A odnośnie nowych danych w bazie, to jeśli są z innej tabeli, to wpisać trzeba to, co podałeś, a jeśli są z tej tabeli, to trzeba coś konkretnego wpisać, skoro z automatu są dostępne?

Edytowano przez Warmix

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

jak w tej samej tabeli do po prostu w topic używasz zmiennej $data[ 'nazwa_pola' ] czy coś i masz.

 

Jeśli stworzysz nowy bit szablonu to musisz jakoś go wywołać, np. zamiast topic użyć swojego albo coś

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

hmmm... a da się wygenerować hooka tak, żeby on potem automatycznie nadpisywał bit topic? I czy jest to praktyczniejsze niż stworzenie nowego bitu? Oraz jak wywołać taką zmianę bitów?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Tak można. Robisz ten nadpisywany i tak. w acp tworzysz bit szablonu w skin_forum np. topic_1. Musi przyjmować takie same parametry jak topic i w tej samej kolejności. Robisz w nim swój kod HTML. W hooku umieszczasz coś takiego:

    function topic($data, $forum_data, $other_data, $inforum) { 
    return parent::topic_1($data, $forum_data, $other_data, $inforum);
    }

i masz. Następnie przy eksportowaniu hooka wybierasz stworzony bit, i tym sposobem hook automatycznie wszystko zrobi podczas instalacji

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Ok, zrobiłem, tak jak napisałeś, ale nie działa. Gdy w bicie topic wprowadzę zmiany, działa dobrze, ale gdy wprowadzę w topic_1 nic się nie zmienia, czyli nie nadpisało mi tego...

Czy wystarczy, że plik php będzie zawierał to:

class temat extends skin_forum(~id~)
{
    function topic($data, $forum_data, $other_data, $inforum) {
    return parent::topic_1($data, $forum_data, $other_data, $inforum);
    }
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Tak, ewentualnie spróbuj edytować hook w acp i zapisz zmiany

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Na wszelki wypadek odinstalowałem hooka i dodałem jeszcze raz i nic. Nadal działa topic, a topic_1 nie... :/

 

Edit... Usunąłem znaczniki php w pliku hooka i zadziałało. Czyli pliki hooków mają nie być zatagowane?

Edytowano przez Warmix

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony


  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies.