HTML sitemap lists unpublished pages
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 82/100
Direção de pesquisa
Comece pelo bloco de páginas em src/Web/Grand.Web/Features/Handlers/Common/GetSitemapHandler.cs e compare seus filtros com os do handler do sitemap XML em src/Business/Grand.Business.Messages/Commands/Handlers/Common/GetSitemapXMLCommandHandler.cs. Verifique o comportamento relacionado das páginas em Features/Handlers/Pages/GetPageBlockHandler.cs. O trabalho estará concluído quando /sitemap excluir páginas não publicadas e mantiver os filtros de sitemap e de data indicados; verifique o comportamento com os testes relevantes ou reproduzindo-o com uma página não publicada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What happens
The storefront HTML sitemap (/sitemap) lists CMS pages that are not published. The title of an unpublished page is shown publicly, and its link leads nowhere because the page itself checks Published and does not render.
Steps to reproduce
- In the admin panel create a page, tick "Include in sitemap" and leave "Published" unticked.
- Open
/sitemapon the storefront. - The page is listed under the pages section; following the link does not show the page.
Cause
src/Web/Grand.Web/Features/Handlers/Common/GetSitemapHandler.cs (pages block, around lines 110-114) takes pages from IPageService.GetAllPages(storeId), which does not filter on Published, and then filters only on IncludeInSitemap and the start/end dates.
The XML sitemap already does this correctly: src/Business/Grand.Business.Messages/Commands/Handlers/Common/GetSitemapXMLCommandHandler.cs (around line 332) filters on t.Published && t.IncludeInSitemap && .... The page view enforces Published in Features/Handlers/Pages/GetPageBlockHandler.cs.
Expected behaviour
Only published pages with "Include in sitemap" ticked (and within their start/end dates) appear on /sitemap, consistent with the XML sitemap.
- Linguagem predominante
- C#
- Estrelas
- 1.3k
- Forks
- 549
- Merge médio
- 11h 20min
- PRs com merge (30d)
- 122
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de grandnode/grandnode2
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 57/100
grandnode/grandnode2#900 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
grandnode/grandnode2#881 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
grandnode/grandnode2#880 ·
Mantenedores costumam responder em até 1 dia
-
Please add the offer systemAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
grandnode/grandnode2#849 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 50/100
grandnode/grandnode2#499 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de grandnode/grandnode2
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
Mantenedores costumam responder em até 1 dia
-
:watch: Not Triaged advanced-concepts/subsvc dotnet-csharp/svc
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
enhancement no-stack-trace
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
greenshot/greenshot#1618 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
microsoft/aspire.dev#1962 ·
Mantenedores costumam responder em até 1 dia
-
needs-area-label
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia