pimcore / ecommerce-framework-bundle

Ecommerce Framework community bundle provides e-commerce functionality such as product listing and filtering, pricing, carts and checkouts for Pimcore.
https://pimcore.com/docs/platform/Ecommerce_Framework/
Other
8 stars 28 forks source link

[Bug]: Cannot use a custom TrackingManager #178

Open mlumia opened 3 months ago

mlumia commented 3 months ago

Expected behavior

Setting a custom Tracking Manager in the config tracking_manager_id should output the tracked codes for the active GoogleTagManager tracker.

The event subscriber TrackingCodeFlashMessageListener should move the flash message tracked codes to the Tracker tracked codes.

The event subscriber TrackingCodeSubscriber should prepend the tracked codes to the GoogleTagManagerEvents event block.


Info: The use of the Factory is required to get the TrackingManager. Using DI is incorrect. The documentation example also show the use of DI as the "method" to implement, which is incorrect.

Actual behavior

Both EventSubscribers (TrackingCodeSubscriber and TrackingCodeFlashMessageListener) use DI to get the TrackingManager which is not loaded with the $trackers from the compiler pass.

The tracked codes by the tracking_manager_id TrackingManager is not output.

Steps to reproduce

  1. Create a custom TrackingManager class
  2. Set the tracking_manager_id as the custom TrackingManager class
    pimcore_ecommerce_framework:
    tracking_manager:
        tracking_manager_id: App\Tracking\MyCustomerTrackingManager
        trackers:
            tag_manager:
                id: Pimcore\Bundle\EcommerceFrameworkBundle\Tracking\Tracker\GoogleTagManager
                enabled: true
  3. Track a product view in a controller: $this->factory->getTrackingManager()->trackProductView($product);
  4. Optional to test forwardTrackedCodesAsFlashMessage(): $this->factory->getTrackingManager()->forwardTrackedCodesAsFlashMessage();
  5. Check HTML output for: dataLayer.push which is not output.
github-actions[bot] commented 2 months ago

Thanks a lot for reporting the issue. We did not consider the issue as "Pimcore:Priority", "Pimcore:ToDo" or "Pimcore:Backlog", so we're not going to work on that anytime soon. Please create a pull request to fix the issue if this is a bug report. We'll then review it as quickly as possible. If you're interested in contributing a feature, please contact us first here before creating a pull request. We'll then decide whether we'd accept it or not. Thanks for your understanding.