Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Jak się dobrać do user_link_menucontent


Rekomendowane odpowiedzi

Opublikowano

Witam,

Zaczynam budować portal w technologi ASP.NET 3.5, który ma być częściowo zintegrowany z forum IPB 3.x. M.in. ma mieć identyczny header. Standardowy skin IPB3, oraz inne oparte na nim, posiadają rozwijane menu:

menuwh.png

Stworzone poniższym kodem:

<ul id='user_link_menucontent'>
   <li id='user_profile' class='row1'><a href='{parse url="showuser={$this->memberData['member_id']}" seotitle="{$this->memberData['members_seo_name']}" template="showuser" base="public"}' title='{$this->lang->words['your_profile']}'>{$this->lang->words['my_profile']}</a></li>
   <li id='user_ucp' class='row1'><a href="{parse url="app=core&module=usercp" base="public"}" title="{$this->lang->words['cp_tool_tip']}">{$this->lang->words['your_cp']}</a></li>
   <li id='user_content' class='row1'><a href="{parse url="app=core&module=search&do=user_activity&mid={$this->memberData['member_id']}" base="public"}" title="{$this->lang->words['my_content_link']}">{$this->lang->words['my_content_link']}</a></li>
   <if test="messengerlink:|:$this->memberData['g_use_pm'] AND $this->memberData['members_disable_pm'] == 0">
       <li id='user_msg' class='row1'><a href='{parse url="app=members&module=messaging" base="public"}' title='{$this->lang->words['your_messenger']}'>{$this->lang->words['your_messenger']} <span id='new_message'>({$this->memberData['msg_count_new']} {$this->lang->words['msg_new']})</span></a></li>
   </if>
   <if test="nobbyNoMates:|:$this->settings['friends_enabled']">
       <li id='user_friends' class='row1'><a href='{parse url="app=members&module=profile&section=friends&do=list" base="public"}' title="{$this->lang->words['manage_friends']}" class='manage_friends'>{$this->lang->words['manage_friends']}</a></li>
   </if>
   <li id='user_enemies' class='row1'><a href='{parse url="app=core&module=usercp&tab=members&area=ignoredusers" base="public"}' title="{$this->lang->words['manage_ignored_users']}" class='manage_enemies'>{$this->lang->words['manage_ignored_users']}</a></li>
   <if test="bloglink:|:$this->memberData['has_blog'] AND IPSLib::appIsInstalled( 'blog' )">
       <li id='user_blog' class='row1'><a href='{parse url="app=blog&module=display&section=blog&mid={$this->memberData['member_id']}" base="public"}' title="{$this->lang->words['go_to_my_blog']}">{$this->lang->words['my_blog']}</a></li>
   </if>
   <if test="gallerylink:|:$this->memberData['has_gallery'] AND IPSLib::appIsInstalled( 'gallery' )">
       <li id='user_gallery' class='row1'><a href='{parse url="app=gallery&module=user&section=user&user={$this->memberData['member_id']}" base="public"}' title="{$this->lang->words['go_to_my_gallery']}">{$this->lang->words['my_gallery']}</a></li>
   </if>
   <if test="nexuslink:|:IPSLib::appIsInstalled( 'nexus' )">
       <li id='user_nexus' class='row1'><a href='{parse url="app=nexus&module=clients" base="public"}' title="{$this->lang->words['client_area']}">{$this->lang->words['client_area']}</a></li>
   </if>
</ul>

Jednak do prawidłowego działania potrzebuję w headerze tych dwóch linijek:

{parse template="includeJS" group="global" params="$jsModules"}
{parse template="includeFeeds" group="global" params="$documentHeadItems"}

Co w źródle wygląda następująco:

<script type='text/javascript' src='http://forum.invisionize.pl/public/min/index.php?ipbv=31005&g=js'></script>
<script type='text/javascript' src='http://forum.invisionize.pl/public/min/index.php?ipbv=31005&charset=UTF-8&f=public/js/ipb.js,public/js/ips.quickpm.js,public/js/ips.hooks.js,public/js/ips.board.js,cache/lang_cache/1/ipb.lang.js' charset='UTF-8'></script>

Doszedłem do wniosków, że kod odpowiedzialny za animację menu jest gdzieś w pliku ipb.js. Nie mam jednak potrzeby załączania całego pliku, a jedynie funkcji odpowiedzialnych za menu. Co więcej bez tego:

<script type='text/javascript' src='http://forum.invisionize.pl/public/min/index.php?ipbv=31005&g=js'></script>

menu nie działa do końca poprawnie. Niestety nie mam pojęcia za co ten wiersz jest odpowiedzialny.

Czy ma ktoś pomysł jak wyciągnąć potrzeby mi kod?

C# developer

Opublikowano (edytowane)

Dlaczego nie dołączysz po prostu tego pliku?

Portal będzie stał na innym serwerze, ze względu na technologię jakiej chcę użyć, podczas jego tworzenia. Pod ASP.NET potrzebuję serwera z windowsem i IIS'em. Mógłbym zostawić linijkę

<script type='text/javascript' src='http://forum.invisionize.pl/public/min/index.php?ipbv=31005&g=js'></script>

i załączyć plik ipb.js wrzucony już na serwerze, na którym będzie stał portal. Jednak wtedy się odwołuję do forum, czyli do innego serwera, a taki może mieć np. awarię. Wolałbym, żeby awaria serwera od forum nie wpływała na funkcjonowanie portalu stojącego na innym serwerze.

Najlepiej byłoby wyciągnąć potrzebny kod do obsługi rozwijanego menu lub po prostu załączyć plik ipb.js, ale wyeliminować odwoływanie się do forum poprzez wyżej umieszczoną linijkę kodu. Ktoś w ogóle ma pojęcie co ona robi?

Jest jeszcze kwestia samego pisania czegokolwiek. Powinniśmy starać się pisać jak najprościej i nie wrzucać ton zbędnego kodu po to, żeby zadziałał jeden drobny element.

Edytowane przez Livo
  • Lubię to 1

C# developer

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.