Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

236
Visualizações
Shopware 6 ¿Cómo agrego correctamente una matriz como extensiones a SearchResult?

Tengo varias clases de suscriptores en funcionamiento que se suscriben a ProductListingResultEvent, que agregan una matriz como extensión al resultado.

El código se parece a esto:

 $myExampleArray = [ ['key' => 'foobar', 'val1' => 'bar', 'val2' => 'foobarfoo'], ['key' => 'barfoo', 'val1' => 'foo', 'val2' => 'barfoobar'] ]; $myStructCollection = new StructCollection(); foreach ($myExampleArray as $myExampleElement) { $myStructCollection->set($myExampleElement['key'], $myExampleElement); } $event->getResult()->addExtension('myExampleExtension', $myStructCollection);

¿Es esa la forma correcta de hacerlo? ¿Siempre tengo que instanciar una nueva estructura para agregar datos como una extensión?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Sí, siempre tiene que crear una nueva instancia de Struct-Class, ya que la estructura de extensión que agregará debe ser independiente del núcleo u otros complementos, para que no interfieran con su lógica y puedan anular cosas, por ejemplo.

Por lo tanto, siempre debe usar el prefijo de su proveedor en el nombre de la extensión, para asegurarse de que no haya conflictos de nombres con otros complementos.

Para el caso que está describiendo, hay un ArrayStruct especial que puede usar para crear más fácilmente una estructura para una matriz. Sin embargo, la estructura de matriz espera que la clave indexe la matriz de entrada, por lo que es posible que deba cambiar un poco la estructura de los datos de su matriz:

 $myExampleArray = [ 'foobar' => ['key' => 'foobar', 'val1' => 'bar', 'val2' => 'foobarfoo'], 'barfoo' => ['key' => 'barfoo', 'val1' => 'foo', 'val2' => 'barfoobar'] ]; $event->getResult()->addExtension('myExampleExtension', new ArrayStruct($myExampleArray);

Si no es tan fácil cambiar la estructura de su matriz, su solución también está bien, pero dependiendo del tamaño de la matriz, es posible que desee deshacerse del bucle adicional que la atraviesa.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda