es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Autocompletado de Algolia con PHP Laravel Blade

Archivo tsx, tengo este bloque de código

params: {
                  hitsPerPage: 5,
                  attributesToSnippet: ["name:10", "desc:35"],
                  snippetEllipsisText: "…",
                  facetFilters: "college_id:1"
                }

Como puedes ver, facetFilters: “college_id:1”. El college_id está configurado estáticamente como 1. Quiero hacer esto con blade de forma dinámica, como college_id: {{$student->college->id}}. ¿Cómo puedo hacer esto? ¿Hay alguna manera de definir estos parámetros fuera del archivo algolia.tsx?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacer que college_id sea dinámico en el código anterior, puedes reemplazar facetFilters: "college_id:1" con facetFilters: "college_id:{{ $student->college->id }}". Esto obtendrá el ID de la universidad del objeto $student de forma dinámica e lo insertará en los parámetros de búsqueda de Algolia.

    Para definir estos parámetros fuera del archivo algolia.tsx, puedes crear un archivo PHP separado que contenga los parámetros deseados, luego incluir ese archivo en tu archivo algolia.tsx usando una declaración de include en PHP. Por ejemplo, podrías crear un archivo params.php con el siguiente código:

    <?php
    return [
        'hitsPerPage' => 5,
        'attributesToSnippet' => ['name:10', 'desc:35'],
        'snippetEllipsisText' => '...',
        'facetFilters' => 'college_id:' . $student->college->id,
    ];
    ?>
    

    Luego, en tu archivo algolia.tsx, puedes incluir este archivo params.php y utilizar los parámetros de la siguiente manera:

    $params = include 'params.php';
    AlgoliaHelperInstance.search('', $params);
    

    De esta manera, puedes definir los parámetros de búsqueda en un archivo y reutilizarlos en toda tu aplicación.

Comments are closed.