Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WebWalter

[Resolvido] BreadCrumb + Sitemap

Recommended Posts

Boa tarde galera!

 

Preciso criar um breadCrumb em asp...

pesquisando vi que da pra fazer criando um sitemap em xml.

achei alguns modelos mais nao to conseguindo implementar isso (nao to muito familiarizado com o asp)

 

Se alguem tiver um passo a passo ou um exemplo simples agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é simplesmente uma história visual progressiva dos links visitados em um site que ajuda os usuários a navegar para trás através de suas páginas favoritas.

 

<% 
Function BreadCrumb(FullPath)

Do Until instr(1,FullPath,"/") = 0

	'## Create an array of letters in the alphabet.
	Letters = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")

	'## split on the /
	tmpPath = mid(FullPath,1,instr(1,FullPath,"/")-1)
	strTmpPath = Trim(tmpPath)
	DirPath = DirPath & strTmpPath & "/"

	'## upshift the first character
	firstLetter = ucase(mid(strTmpPath,1,1))
	strTmpPath = firstLetter & mid(strTmpPath,2,len(strTmpPath))

	'## replace udnerscores with spaces and upshift the following character
	for each letter in letters
		strTmpPath = Replace(Trim(strTmpPath),"_" & lcase(letter)," " & UCase(letter))
	next

	'## split the next one out	
	FullPath = mid(FullPath,instr(1,FullPath,"/")+1,Len(FullPath)-Len(tmpPath))

	'## separate them with >> symbols
	IF strTmpPath = "" THEN
		response.write "<a href=""/"" style=""text-decoration:none"">Home Page</a>"
	ELSEIF strTmpPath = "Home" THEN
	ELSE
		response.write " > <a href=""" & DirPath & """ style=""text-decoration:none"">" & strTmpPath & "</a>"
	END IF
Loop

IF PageTitle = "" THEN
	response.write " : Current Page"
ELSE
	response.write " : " & PageTitle
END IF

End Function %>

Para chamar este código na sua página, você precisa chamar o arquivo de inclusão

 

<% PageTitle = "About Us" %>
<!--#include virtual ="/includes/breadcrumb.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
                "http://www.w3.org/TR/REC-html40/loose.dtd">

<html lang="pt-br">
<head>

<title><% = PageTitle %></title>
[...
]

 

Quando estiver pronto para chamar a função na página para exibir breadcrumb trail, basta chamá-lo assim:

<% = BreadCrumb(Request.ServerVariables("PATH_INFO")) %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

da o seguinte erro:

 

Página com erro

 

A exibição do erro da página .NET está temporariamente desativada como forma de evitar problemas maiores em face ao reportado pelo fabricante em http://www.microsoft.com/technet/security/advisory/2416728.mspx

 

A exibição do erro de páginas .NET será reativada assim que houver correção para a vulnerabilidade mencionada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

atualiza o .Net

 

A Microsoft está investigando um novo relatório público de uma vulnerabilidade no ASP.NET. Um invasor que explorar essa vulnerabilidade pode visualizar os dados, tais como o estado de exibição, que foi criptografado pelo servidor alvo, ou ler dados de arquivos no servidor de destino, como web.config. Isso permitiria que o atacante adulterar o conteúdo dos dados. Enviando de volta o conteúdo alterado para um servidor afetado, o atacante pôde-se observar os códigos de erro retornados pelo servidor. A Microsoft está ciente de ataques limitados e ativos neste momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

atualiza o .Net

 

A Microsoft está investigando um novo relatório público de uma vulnerabilidade no ASP.NET. Um invasor que explorar essa vulnerabilidade pode visualizar os dados, tais como o estado de exibição, que foi criptografado pelo servidor alvo, ou ler dados de arquivos no servidor de destino, como web.config. Isso permitiria que o atacante adulterar o conteúdo dos dados. Enviando de volta o conteúdo alterado para um servidor afetado, o atacante pôde-se observar os códigos de erro retornados pelo servidor. A Microsoft está ciente de ataques limitados e ativos neste momento.

 

Cara... eu nao manjo nada de asp, esse projeto eh uma excessao, tanto q estou executando tudo no servidor online.

Pra esse breadcrumb, vi que da pra fazer um siteMap e a partir dele mostrar, tem ateh um exemplo no site da M$:

http://msdn.microsoft.com/pt-br/library/ms178418%28v=VS.90%29.aspx

 

o q acha?...

 

parece super simples, mas da erro qdo tento fazer isso funcionar...

 

mas sei lah, o que funcionar pra mim ta valendo... rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!!

 

É meio chato, mas bem fácil realmente

 

É só criar o arquivo Web.sitemap, que deve ficar na raiz.

 

<?xml version="1.0" encoding="utf-8" ?>

<siteMap>

<siteMapNode title="Home" >

<siteMapNode title="Services" >

<siteMapNode title="Training" url="~/Training.aspx"/>

</siteMapNode>

</siteMapNode>

</siteMap>

 

só que....

estava dando erro nos meus testes por causa dos parametros title estarem com acento, tipo: title='Página principal'

 

e as tags de dentro DEVEM terminar assim: />

exatamente como no exemplo acima.

 

Quanto ao acentro experimentar colocar codificado, tipo: á (á)

 

 

bom, e no arquivo que vai aparecer o breadcrumb só isso:

<asp:SiteMapPath ID="SiteMapPath1" Runat="server"></asp:SiteMapPath>

<asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />

 

ele busca automaticamente o Web.sitemap na raiz

 

PS.: não podem estar citados links inexistentes no Web.sitemap, pq da pau tbm.

 

Achei legal que diferencia até com parametros, tipo ele entende que pagina.aspx?cod=223 é uma coisa e pagina.aspx?cod=255 é outra

 

Super interessante, no link que eu citei acima tem mais exemplos

 

abçs, vlw pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso você fez em .Net, né

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.