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

Rekomendowane odpowiedzi

Opublikowano

Witam,

mam problem, który mnie irytuje. Piszę modyfikację, do szczęścia potrzebna jest mi działająca funkcja if, tak by działała ona na zasadzie, że jeśli na forum wejdzie gość (osoba niezalogowana) to uaktywni się mój mod. Wydaje się takie proste i banalne, a mam z tym problem ;)

Proszę o pomoc.

Opublikowano

No niestety, nie działa mi moda tak jak powinien. Próbowałem wielu sposobów, lecz za każdym razem coś źle idzie...

Nie mam już do tego nerwów. Dzięki DawPi za odpowiedź. Możesz zamknąć temat.

  • Manager
Opublikowano

Ty to jesteś po prostu udany.

Może napiszesz, co za kod masz? A nie od razu się poddajesz.

Wiele razy już dałeś o sobie świadectwo takim pisaniem, więc może przestaniesz tak się zachowywać i jeśli naprawdę chcesz pomocy, to daj coś, jakiś punkt zaczepienia..

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Próbowałem napisać moda latającego popupa dla gości. Nie wyszło mi.

Zainspirowałem się tym kodem (wkleję fragment)

	<templates>
	<template name="phpkd_floating_guest_notify" templatetype="template" date="1191432967" username="z" version="1.0.0"><![CDATA[<if condition="$show['guest'] AND THIS_SCRIPT != 'register'">

<style type="text/css">
#topbar
{   
PADDING-TOP: 5px;
PADDING-BOTTOM: 5px;
PADDING-RIGHT: 5px; 
PADDING-LEFT: 5px;
VISIBILITY: hidden;
BORDER-TOP: black 1px solid;
BORDER-BOTTOM: black 1px solid;
BORDER-RIGHT: black 1px solid;
BORDER-LEFT: black 1px solid;
WIDTH: 450px;
FONT-FAMILY: Tahoma;
POSITION: absolute;
BACKGROUND-COLOR: white
}
</style>

<script type="text/javascript">
var persistclose = $vboptions[phpkd_floating_guest_notify_closing]
var startX = $vboptions[phpkd_floating_guest_notify_xoffset]
var startY = $vboptions[phpkd_floating_guest_notify_yoffset]
var verticalpos = "$vboptions[phpkd_floating_guest_notify_position]"

function iecompattest()
{
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name)
{
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0)
{
	offset = document.cookie.indexOf(search)
	if (offset != -1)
	{
		offset += search.length
		end = document.cookie.indexOf(";", offset);
		if (end == -1) end = document.cookie.length;
		returnvalue=unescape(document.cookie.substring(offset, end))
	}
}
return returnvalue;
}

function closebar()
{
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}

function staticbar()
{
barheight=document.getElementById("topbar").offsetHeight
var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
var d = document;
function ml(id)
{
	var el=d.getElementById(id);
	if (!persistclose || persistclose && get_cookie("remainclosed")=="")
	el.style.visibility="visible"
	if(d.layers)el.style=el;
	el.sP=function(x,y){this.style.$stylevar[right]=x+"px";this.style.top=y+"px";};
	el.x = startX;
	if (verticalpos=="fromtop")
		el.y = startY;
	else
	{
		el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
		el.y -= startY;
	}
	return el;
}

window.stayTopLeft=function()
{
	if (verticalpos=="fromtop")
	{
		var pY = ns ? pageYOffset : iecompattest().scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
	}
	else
	{
		var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
	}
	ftlObj.sP(ftlObj.x, ftlObj.y);
	setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}

if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>

<div id="topbar">
<table width="100%">
	<tr>
		<td width="99%">
				<phrase 1="$vboptions[bbtitle]" 2="register.php$session[sessionurl_q]">$vbphrase[you_are_unregistered]</phrase>     </td><td width="1%"><a onclick="closebar(); return false" href="$vboptions[bburl]"><img style="float: $stylevar[left]" src="$stylevar[imgdir_misc]/close.gif" border="0"></a>
		</td>
	</tr>
</table>
</div>

</if>]]></template>

Przerobiłem go, działał prawie dobrze, ale... no właśnie. Wyświetlał się nieprawidłowo tzn. tylko na stronie głównej, nawet jak było się zalogowanym to również się wyświetlał.

Próbowałem również z include, też na nic.

Opublikowano

Właśnie o to chodzi, że nie działa.

<if test="!$this->memberData['id']">

twoj_kod

</if>

Próbowałem już tego i nie działa.

Zrobiłem też inny kod popupa, także nie śmiga poprawnie.

Opublikowano (edytowane)

Dobrze więc, problem pozostał z funkcją IF. Dalej nie śmiga tak jak powinna. Próbowałem wielu wariantów ale nie działa...

Oto kod jaki wstawiam do globalTemplate dokładniej po

				{$footer_items['copyright']}
		</div>

Aplet działa bardzo dobrze, tylko te if nie działa.

kod jest zepsuty... pracuję nad poprawnym.

Próbowałem wielu wariantów IF i nie śmigają poprawnie. Pewnie gdzieś zrobiłem EPIC FAILA w kodzie. . .

Jak wszystko będzie działać zrobię turtorial :)

Proszę o pomoc... Już wariuję z tym if.

Edytowane przez Gexem
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • 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ę.