Jump to content

Edit History

Angmarek

Angmarek

Cześć,

PS Version: 8.1.6
Problem dotyczy tagowanych serwisów.
Zgodnie z dokumentacją: https://devdocs.prestashop-project.org/8/modules/concepts/services/

Do głównego pliku config/front/services.yml dołączyłem plik common.yml


 

imports:
  - { resource: ../common.yml }


plik common.yml

 

services:
  _defaults:
    autowire: true
    public: true
    bind:
      $productCalculator: !tagged ushop.calculator_type

  _instanceof:
    PrestaShop\Module\ushop\service\ProductTypeCalculator\ProductTypeCalculatorInterface:
      tags: [ ushop.calculator_type ]

  ushop.calculator_strategy:
    autowire: true
    public: true
    autoconfigure: true
    class: 'PrestaShop\Module\ushop\service\ProductCalculatorStrategy'


Pobieranie serwisu

$productCalculateStrategy = $this->get('ushop.service.product_calculator');

konstruktor serwisu
 

public function __construct(iterable $productCalculator) {
        foreach ($productCalculator as $iterated) {
            $this->productCalculators[] =  $iterated;
}



Serwis jest pobierany, ale żadne obiekty klas dziedziczących ProductTypeCalculatorInterface nie są wstrzykiwane do konstruktora - iterator jest pusty.
Próbowałem również manualnie stworzyć serwisy każdej z klas dziedziczących i otagowanie, jednakże nie zmienia to absolutnie niczego.

To nie działa ani na controllerach frontowych ani adminowych.
Gdzie może leżeć problem?

 

Angmarek

Angmarek

Cześć,

PS Version: 8.1.6
Problem dotyczy tagowanych serwisów.
Zgodnie z dokumentacją: https://devdocs.prestashop-project.org/8/modules/concepts/services/

Do głównego pliku config/front/services.yml dołączyłem plik common.yml


 

imports:
  - { resource: ../common.yml }


plik common.yml

 

services:
  _defaults:
    autowire: true
    public: true
    bind:
      $productCalculator: !tagged ushop.calculator_type

  _instanceof:
    PrestaShop\Module\ushop\service\ProductTypeCalculator\ProductTypeCalculatorInterface:
      tags: [ ushop.calculator_type ]

  ushop.calculator_strategy:
    autowire: true
    public: true
    autoconfigure: true
    class: 'PrestaShop\Module\ushop\service\ProductCalculatorStrategy'


Pobieranie serwisu

$productCalculateStrategy = $this->get('ushop.service.product_calculator');

konstruktor serwisu
 

public function __construct(iterable $productCalculator) {
        foreach ($productCalculator as $iterated) {
            $this->productCalculators[] =  $iterated;
}



Serwis jest pobierany, ale żadne obiekty klas dziedziczących ProductTypeCalculatorInterface nie są wstrzykiwane do konstruktora
Próbowałem również manualnie stworzyć serwisy każdej z klas dziedziczących i otagowanie, jednakże nie zmienia to absolutnie niczego.

To nie działa ani na controllerach frontowych ani adminowych.
Gdzie może leżeć problem?

 

Angmarek

Angmarek

Cześć,

PS Version: 8.1.6
Problem dotyczy tagowanych serwisów.
Zgodnie z dokumentacją: https://devdocs.prestashop-project.org/8/modules/concepts/services/

Do głównego pliku config/front/services.yml dołączyłem plik common.yml


 

imports:
  - { resource: ../common.yml }


plik common.yml

 

services:
  _defaults:
    autowire: true
    public: true
    bind:
      $productCalculator: !tagged ushop.calculator_type

  _instanceof:
    PrestaShop\Module\ushop\service\ProductTypeCalculator\ProductTypeCalculatorInterface:
      tags: [ ushop.calculator_type ]

  ushop.calculator_strategy:
    autowire: true
    public: true
    autoconfigure: true
    class: 'PrestaShop\Module\inkous\service\ProductCalculatorStrategy'


Pobieranie serwisu

$productCalculateStrategy = $this->get('ushop.service.product_calculator');

konstruktor serwisu
 

public function __construct(iterable $productCalculator) {
        foreach ($productCalculator as $iterated) {
            $this->productCalculators[] =  $iterated;
}



Serwis jest pobierany, ale żadne obiekty klas dziedziczących ProductTypeCalculatorInterface nie są wstrzykiwane do konstruktora
Próbowałem również manualnie stworzyć serwisy każdej z klas dziedziczących i otagowanie, jednakże nie zmienia to absolutnie niczego.

To nie działa ani na controllerach frontowych ani adminowych.
Gdzie może leżeć problem?

 

×
×
  • Create New...