Escolha dos leitores
Artigos populares
Este snippet exibe resultados de pesquisa com base nos critérios de pesquisa enviados.
Basta colocar o snippet no recurso no qual deseja exibir os resultados da pesquisa.
[[!SimpleSearch]]
Nome | Descrição | Padrão |
---|---|---|
tpl | O pedaço que será usado para exibir o conteúdo de cada resultado da pesquisa. | Resultado da pesquisa |
contêinerTpl | O pedaço que será usado para agrupar todos os resultados da pesquisa, paginação e mensagem. | Procurar Resultados |
usar todas as palavras | Se for verdade, só encontrará resultados com todas as palavras de pesquisa especificadas. | 0 |
maxWords | O número máximo de palavras a serem incluídas na pesquisa. Aplicável apenas se useAllWords estiver desativado. | 7 |
minChars | O número mínimo de caracteres para acionar a pesquisa. | 3 |
estilo de pesquisa | Para pesquisar com uma pesquisa LIKE "parcial" ou uma pesquisa de "correspondência" baseada em relevância. | parcial |
e Termos | Se deve ou não adicionar um AND lógico entre as palavras. | 1 |
combinarWildcard | Habilite a pesquisa curinga. Defina como falso para fazer uma pesquisa exata em um termo de pesquisa. | 1 |
docFields | Uma lista separada por vírgulas de campos de recursos específicos para pesquisa. | título da página, título longo, alias, descrição, texto introdutório, conteúdo |
potência de campo | Pontue e classifique os resultados (consulte https://github.com/splittingred/SimpleSearch/pull/29 para mais informações/uso) | |
por página | O número de resultados de pesquisa a serem exibidos por página. | 10 |
mostrarExtrair | Mostrar ou não um extrato do conteúdo de cada resultado da pesquisa. | 1 |
extrairFonte | (novo na versão 1.9) Permite ao usuário definir de onde vem o extrato. Se o valor desse parâmetro for um nome de campo de recurso (incluindo TVs se &includeTVs estiver definido), esse campo de recurso será usado para a extração. Caso contrário, o parâmetro será considerado o nome de um Snippet a ser executado. O Snippet recebe a matriz de recursos como parâmetros. Se não houver nenhum Snippet com esse nome, a extração estará vazia. | contente |
extrairComprimento | O número de caracteres para a extração de conteúdo de cada resultado da pesquisa. | 200 |
extrairEllipsis | A string usada para agrupar os resultados da extração. O padrão é reticências. | ... |
incluirTVs | Indica se os valores de TemplateVar devem ser incluídos nas propriedades disponíveis para cada modelo de recurso. O padrão é 0. Ativar esta opção pode tornar sua pesquisa mais lenta se você tiver muitas TVs. | 0 |
incluirTVList | Uma lista opcional delimitada por vírgulas de nomes TemplateVar para incluir explicitamente se includeTVs for 1. | |
processar TVs | Indica se os valores de TemplateVar devem ser renderizados como seriam no recurso que está sendo resumido. O padrão é 0. Algumas notas: As TVs podem ser acessadas pelo nome da TV [[+myTV]] Por padrão, o SimpleSearch não usa um prefixo, por exemplo. [[+tv.myTV]] NÃO será renderizado. As TVs são processadas durante a indexação para pesquisa no Solr, portanto não há necessidade de fazer isso aqui. |
0 |
destaqueResultados | Se deve ou não destacar o termo de pesquisa nos resultados. | 1 |
destaqueClasse | O nome da classe CSS a ser adicionada aos termos destacados nos resultados. | destaque de pesquisa simples |
destaqueTag | A tag html para agrupar o termo destacado nos resultados da pesquisa. | período |
páginaTpl | O pedaço a ser usado para um link de paginação. | Link da página |
currentPageTpl | O pedaço a ser usado para o link de paginação atual. | LinkPágina Atual |
paginaçãoSeparador | O separador a ser usado entre links de paginação. | |
IDs | Uma lista separada por vírgulas de IDs aos quais restringir a pesquisa. | |
idType | O tipo de restrição para o parâmetro ids. Se for pai, adicionará todos os filhos dos IDs no parâmetro ids à pesquisa. Se for documentos, usará apenas os IDs especificados na pesquisa. | pais |
excluir | Uma lista separada por vírgulas de IDs de recursos a serem excluídos da pesquisa, por exemplo. "10,15,19". Isto excluirá os recursos com o ID "10","15" ou "19". | |
profundidade | Se idtype for definido como pais, a profundidade da árvore de recursos que será pesquisada com os IDs especificados. | 10 |
ocultarMenu | Se deve ou não retornar recursos que tenham o menu oculto ativado. 0 mostra apenas recursos visíveis, 1 mostra apenas recursos ocultos, 2 mostra ambos. | 2 |
contextos | Os contextos a serem pesquisados. O padrão é o contexto atual se nenhum for especificado explicitamente. | |
índice de pesquisa | O nome do parâmetro REQUEST que a pesquisa usará. | procurar |
deslocamentoIndex | O nome do parâmetro REQUEST a ser usado para o deslocamento de paginação. | simplesearch_offset |
espaço reservadoPrefixo | O prefixo para espaços reservados globais definidos por este trecho. | pesquisa simples. |
para espaço reservado | Seja para definir a saída para retornar diretamente ou para definir um espaço reservado com o nome desta propriedade. | |
urlScheme | O esquema de URL desejado: http, https, completo, abs, relativo, etc. Veja a documentação $modx->makeUrl(). Isso é usado quando os links de paginação são gerados. | |
pacotes personalizados | Defina para pesquisar tabelas personalizadas carregando seu pacote. Veja abaixo para mais detalhes. | |
postHooks | Uma lista separada por vírgula de ganchos a serem executados que podem adicionar conjuntos facetados aos resultados finais. | |
ativoFacet | A faceta ativa atual. Deixe isso de lado, a menos que queira que um resultado seja exibido a partir de uma faceta não padrão derivada de um postHook. | padrão |
faceta Limite | O número de resultados de facetas não ativas a serem exibidos na página principal de resultados. | 5 |
ordenar por | Uma lista separada por vírgula de campos de recursos pelos quais classificar os resultados. Deixe em branco para classificar por relevância e pontuação. | |
sortDir | Uma lista separada por vírgulas de instruções pelas quais classificar os resultados. Deve corresponder ao número de itens no parâmetro sortBy. | DESC |
sem resultadosTpl | O pedaço a ser usado quando nenhum resultado de pesquisa for encontrado. |
Existem 4 pedaços que são processados no SimpleSearch. Seus parâmetros SimpleSearch correspondentes são:
A pesquisa de tabelas personalizadas está disponível no SimpleSearch usando a propriedade &customPackages; no entanto, você deve ter um pacote personalizado criado para ele. O formato é:
ClassName:fieldName(s):packageName:packagePath:joinCriteria||class2Name:fieldName(s):package2Name:package2Path:join2Criteria
Em outras palavras, cada pacote personalizado é separado por ||. Em seguida, cada parte é separada por dois pontos (:). Um exemplo para pesquisar comentários do Quip:
&customPackages=`quipComment:body:quip:(core_path)components/quip/model/:quipComment.resource = modResource.id`
Vamos decompor cada parte:
Depois de adicioná-lo, ele também pesquisará dados nesses campos. Se encontrá-los nessa tabela, ele exibirá o resultado como um link para o recurso que você especificou em seu joinCriteria. recurso onde o comentário do Quip está localizado.
Hoje é uma lição sobre como implementar a pesquisa de sites usando um componente no Modx Revolution SimpleSearch.
Básico parâmetros de trecho:
Nome | Descrição | Padrão |
---|---|---|
tpl | A parte usada para exibir o conteúdo de cada resultado da pesquisa. | Resultado da pesquisa |
contêinerTpl | Um bloco usado para agrupar resultados de pesquisa, paginação e postagens. | Resultado da pesquisa |
usar todas as palavras | Se for verdade, apenas serão encontrados resultados com todas as palavras de pesquisa especificadas. | 0 |
maxWords | Quantia máxima palavras a serem incluídas na pesquisa.Aplicável apenas se useAllWords estiver desabilitado. | 7 |
minChars | Número mínimo de caracteres para iniciar uma pesquisa. | 3 |
estilo de pesquisa | Para pesquisar usando uma pesquisa LIKE "parcial" ou uma pesquisa de "correspondência" baseada em relevância. | parcial |
e Termos | É necessário adicionar AND lógico entre as palavras. | 1 |
combinarWildcard | Habilite a pesquisa curinga.Defina como false para realizar uma pesquisa exata com base no termo de pesquisa. | 1 |
docFields | Lista de campos de documentos individuais a serem pesquisados. | título da página, título longo, descrição, texto de introdução, apelido ,contente |
potência de campo | Avaliando e classificando resultados | |
por página | Número de resultados de pesquisa para uma página. | 10 |
mostrarExtrair | Se deve mostrar um recorte do conteúdo de cada resultado da pesquisa. | 1 |
extrairFonte | Permite ao usuário determinar de onde vem a extração.Se o valor desse parâmetro for o nome de um campo de recurso (incluindo TV se & includeTVs estiver definido), esse campo de recurso será usado para a extração.Caso contrário, o parâmetro será considerado o nome do fragmento a ser executado.O fragmento recebe uma matriz de recursos como parâmetros.Se este nome não tiver um fragmento, a extração estará vazia. | contente |
extrairComprimento | O número de caracteres a serem extraídos do conteúdo para cada resultado. | 200 |
extrairEllipsis | A string usada para transportar os resultados da extração.O padrão são reticências. | … |
incluirTVs | Especifica se os valores TemplateVar devem ser incluídos nas propriedades disponíveis para cada modelo de recurso.O padrão é 0. Ativar esta configuração pode tornar as coisas mais lentas se você tiver muitas TVs. | 0 |
ProcessTVs | Indica se os valores TemplateVar devem ser exibidos como seriam em um recurso resumido.O padrão é 0. Algumas notas: paraA TV pode ser acessada pelo nome da sua TV [[+ myTV]] Por padrão, o SimpleSearch não usa um prefixo, por exemplo [[+ tv.myTV]] NÃO será exibido. As TVs são processadas durante a indexação para pesquisa no Solr, portanto não há necessidade de fazer isso aqui. | 0 |
destaqueResultados | Especifique ou não selecione consulta de pesquisa nos resultados. | 1 |
destaqueClasse | O nome da classe CSS a ser adicionada às condições destacadas nos resultados. | destaque sisea |
destaqueTag | Etiqueta HTML para agrupar o termo destacado nos resultados da pesquisa. | período |
páginaTpl | A parte usada para vincular às páginas. | Link da página |
currentPageTpl | O bloco usado para o link atual na página. | LinkPágina Atual |
paginaçãoSeparador | Separador (separador) para uso entre links de páginas. | | |
IDs | Lista de IDs de documentos, separados por vírgulas, para limitar a pesquisa | |
idType | O tipo de restrição para o parâmetro ids. Se forem pais, todos os elementos identificadores serão adicionados ao parâmetro ids da pesquisa. Se forem documentos, apenas os identificadores especificados serão usados na pesquisa. | pais |
excluir | Lista de identificadores de recursos, separados por vírgulas, para excluir da pesquisa, por exemplo. "10,15,19." Isso exclui recursos com IDs "10", "15" ou "19". | |
profundidade | Se idtype for definido como pai, a profundidade da árvore de recursos que será pesquisada com os identificadores especificados. | 10 |
ocultarMenu | Preciso retornar recursos que possuem hidemenu. 0 mostra apenas recursos visíveis, 1 mostra apenas recursos ocultos, 2 mostra ambos. | 2 |
contextos | Contextos de pesquisa. O padrão é usar o contexto atual se nenhum for especificado explicitamente. | |
índice de pesquisa | O nome do parâmetro REQUEST que será utilizado pela pesquisa. | procurar |
deslocamentoIndex | O nome do parâmetro REQUEST usado para deslocar a página. | sisea_offset |
espaço reservadoPrefixo | Prefixo para espaços reservados globais, fornecido pelo snippet. | sisea. |
para espaço reservado | Seja para definir a saída para retornar diretamente ou definir para um espaço reservado com o nome desta propriedade. | |
urlScheme | Esquema de URL obrigatório: http, https, completo, abs, relativo, etc. Veja a documentação de $modx->makeUrl(). Isso é usado quando links de paginação são gerados. | |
pacotes personalizados | Defina para procurar tabelas personalizadas baixando seu pacote. Veja abaixo para obter detalhes. | |
postHooks | Uma lista separada por vírgula de ganchos a serem executados que podem adicionar conjuntos facetados aos resultados finais. | |
ativoFacet | Borda ativa atual. Deixe isso de lado se não quiser que o resultado seja mostrado de um aspecto não padrão recebido via postHook. | padrão |
faceta Limite | Número de resultados de facetas não ativas a serem exibidos pagina inicial resultados. | 5 |
ordenar por | Lista de campos de recursos, separados por vírgulas, para classificação de resultados. Deixe o campo em branco para classificar por relevância e classificação. | |
sortDir | Uma lista de instruções para classificar os resultados, separadas por vírgulas. Deve corresponder ao número de elementos no parâmetro sortBy. | DESC |
sem resultadosTpl | Pedaço a ser usado se os resultados da pesquisa não forem encontrados. |
1. Pesquisa Simples
2. Decidindo vários problemas com codificações, etc.
Vá para core/components/simplesearch/model/simplesearch/simplesearch.class.php e substitua-o seguintes linhas:
linha 297:
$texto = preg_replace("/(\[\[\+.*?\]\])/i", "", $texto);
substituir com
$texto = preg_replace("/(\[\[\+.*?\]\])/iu", "", $texto);
linha 311:
$text = trim(preg_replace("/\s+/", " ", $this->sanitize($text)));
substituir com
$text = trim(preg_replace("/\s+/u", " ", $this->sanitize($text)));
linha 413:
$string = preg_replace("/" . $quoteValue . "/i", "<".$tag." class="".$cls."">$0".$tag.">",$string);
substituir com
$string = preg_replace("/" . $quoteValue . "/iu", "<".$tag." class="".$cls."">$0".$tag.">",$string);
Vamos comentar a linha 179:
If (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));
aqueles. deveria ficar assim
/*if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str)); */
3. Faça cópias de todos os blocos padrão que estão localizados no diretório core/components/simplesearch/elements/chunks/
Criamos novos pedaços com os mesmos nomes e o prefixo -new, e os mesmos conteúdos (só que não são mais baseados em arquivos, mas regulares), para os quais você entenderá tudo isso mais adiante.
Por exemplo, pegue o primeiro pedaço link da página atual.chunk.tpl e crie um novo pedaço link da página atual-novo(elementos - crie um novo pedaço) e mova o código para ele.
[[+texto]]
Responsável por controlar o botão na paginação da página ativa.
E da mesma forma criamos os pedaços restantes:
- pagelink-novo— é responsável por exibir um botão de paginação separado.
[[+texto]]
- formulário de pesquisa-novo- Formulário de pesquisa
— resultados de pesquisa Você não precisa transferi-lo - não há design ali;
— resultado da pesquisa-novo— saída de cada ponto de resultado.
[[+extrair]]
— resultado da pesquisa- na verdade, você também não aguenta.
— resultados de pesquisa-novo- wrapper de todos os resultados
[[+informações do resultado]]
Saída de frase "Páginas de resultados de pesquisa:"
Depois de tudo isso, você deverá ter 5 novos pedaços.
4. Crie Novo Documento onde os resultados da pesquisa serão exibidos
Título: Resultados da pesquisa, marque a caixa de seleção “Não mostrar no menu”. Vá para “Configurações” e desmarque as caixas de seleção “Pesquisável” e “Usar editor HTML”. Salvar. Atualizamos a página e a adicionamos ao conteúdo
[[!Pesquisa Simples? &tpl=`searchresult-new` &containerTpl=`searchresults-new` &pageTpl=`pagelink-new` ¤tPageTpl=`currentpagelink-new`]]
pedaços de design que foram criados na etapa 3 (aparência).
Se você quiser que os resultados da pesquisa incluam imagens, adicione-as no final desta saída
&includeTVs=`1` &processTVs=`1`
No bloco de resultados da pesquisa, a imagem pode ser chamada assim: [[+img]].
5. Exibindo o formulário de pesquisa
No local onde você deseja exibir o formulário de pesquisa, escreva
[[!SimpleSearchForm? &landing=`11` &tpl=`searchform-new`]]
Aqui landing é o id da página com os resultados da pesquisa, em tpl estão os pedaços de design do formulário que foram criados na etapa 3.
Fizemos os passos 4 e 5 para que você pudesse editar a seu critério projeto externo: o próprio formulário, resultados da pesquisa, etc. sem entrar nas fontes. E o design padrão é bastante triste; por exemplo, é assim que se parece o formulário de pesquisa padrão.
6. Estamos mudando o design.
Não vejo sentido em descrever como projetar todos os pedaços como exemplo, darei um novo design para um pedaço; formulário de pesquisa-novo
Esta é a marcação de formulário padrão usual do Bootstrap 3, no site fica assim:
Documentação oficial aqui: docs.modx.com/extras/revo/simplesearch
Se você tiver dúvidas, escreva e pergunte nos comentários.
Olá, queridos amigos e colegas! Gostaria de apresentar a vocês um excelente pacote para organizar pesquisas em um site no sistema Revolução Modx - SimpleSearch. Vou explicar passo a passo como instalar este pacote no site e organizar a busca no site. Então vamos começar:
Clique em “Continuar” e depois em “OK”
Título: Resultados da pesquisa, marque a caixa de seleção “Não mostrar no menu”. Clique na guia “Configurações” e desmarque as caixas de seleção “Pesquisável” e “Usar editor HTML”. Não se esqueça de salvar o recurso.
No template onde está localizado o próprio formulário de pesquisa, insira o seguinte código:
[[!SimpleSearchForm? &landing=`1` &tpl=`pesquisar`]]
onde landing é o ID da página para exibição dos resultados da pesquisa, e o bloco de pesquisa é responsável pelo próprio formulário de pesquisa, que criaremos agora
Este é o conteúdo do arquivo core/components/simplesearch/elements/chunks/searchform.chunk.tpl:
em um novo bloco chamado search e crie o modelo de exibição da janela de pesquisa que precisamos.
Encontre o arquivo core/components/simplesearch/model/simplesearch/simplesearch.class.php e substitua a linha nele
$text = trim(preg_replace("/\s+/", " ", $this->sanitize($text)));
$text = trim(preg_replace("/\s+/u", " ", $this->sanitize($text)));
$string = preg_replace("/" . $quoteValue . "/iu", "<".$tag." class=".$cls.">$0".$tag.">",$string);
$texto = preg_replace("/(\[\[\+.*?\]\])/iu", "", $texto);
A pesquisa no site rodando Modx Revolution está pronta. Funciona, você pode ver por si mesmo, mas há mais alguns pontos que serão úteis ao trabalhar com este trecho. Ou seja, editar partes dos resultados da pesquisa, seu wrapper, paginação e assim por diante. Primeiro, você precisa entender que todos os pedaços no formato .tpl estão localizados neste caminho: core/components/simplesearch/elements/chunks/. Bem, para facilitar o trabalho com eles, vamos exibir os principais pedaços em Administrador Modx. Aqui estão seus parâmetros
Bem, chamaremos os próprios pedaços do que quisermos.
Parâmetro tplé responsável por exibir cada item individual do resultado da pesquisa. Vamos criar um pedaço e chamá-lo SimpleSearchResult. Vamos copiar o código do arquivo para ele núcleo/componentes/simplesearch/elements/chunks/searchresult.chunk.tpl:
Clique em “Continuar” e depois em “OK”
Título: Resultados da pesquisa, marque a caixa de seleção “Não mostrar no menu”. Clique na guia “Configurações” e desmarque as caixas de seleção “Pesquisável” e “Usar editor HTML”. Não se esqueça de salvar o recurso.
No template onde está localizado o próprio formulário de pesquisa, insira o seguinte código:
[[!SimpleSearchForm? &landing=`1` &tpl=`pesquisar`]]
onde landing é o ID da página para exibição dos resultados da pesquisa, e o bloco de pesquisa é responsável pelo próprio formulário de pesquisa, que criaremos agora
Este é o conteúdo do arquivo core/components/simplesearch/elements/chunks/searchform.chunk.tpl:
em um novo bloco chamado search e crie o modelo de exibição da janela de pesquisa que precisamos.
Encontre o arquivo core/components/simplesearch/model/simplesearch/simplesearch.class.php e substitua a linha nele
$text = trim(preg_replace("/\s+/", " ", $this->sanitize($text)));
$text = trim(preg_replace("/\s+/u", " ", $this->sanitize($text)));
$string = preg_replace("/" . $quoteValue . "/iu", "<".$tag." class=".$cls.">$0".$tag.">",$string);
$texto = preg_replace("/(\[\[\+.*?\]\])/iu", "", $texto);
A pesquisa no site rodando Modx Revolution está pronta. Funciona, você pode ver por si mesmo, mas há mais alguns pontos que serão úteis ao trabalhar com este trecho. Ou seja, editar partes dos resultados da pesquisa, seu wrapper, paginação e assim por diante. Primeiro, você precisa entender que todos os pedaços no formato .tpl estão localizados neste caminho: core/components/simplesearch/elements/chunks/. Bem, para facilitar o trabalho com eles, exibiremos os principais blocos na área de administração do Modx. Aqui estão seus parâmetros
Bem, chamaremos os próprios pedaços do que quisermos.
Parâmetro tplé responsável por exibir cada item individual do resultado da pesquisa. Vamos criar um pedaço e chamá-lo SimpleSearchResult. Vamos copiar o código do arquivo para ele núcleo/componentes/simplesearch/elements/chunks/searchresult.chunk.tpl:
Artigos relacionados: | |
Como definir o programa padrão para abrir um determinado tipo de arquivo no Windows!
Trabalho com diferentes formatos de dados, mas muitas vezes tenho que... Roteador Wi-fi Asus RT-N12: configurando uma conexão com um computador
Os roteadores Asus estão firmemente estabelecidos na vida cotidiana de casa e... A configuração do sistema não identificada altera o que fazer
Olá, caro leitor! Isso aconteceu há duas semanas... |