pixelant / pxa_product_manager Goto Github PK
View Code? Open in Web Editor NEWProduct Manager. Allow to create and list products on a site. Create dynamical attributes for products. Filter by categories and attributes
Product Manager. Allow to create and list products on a site. Create dynamical attributes for products. Filter by categories and attributes
I can not display the Grouped list view because the viewhelper LinkViewHelper is missing. It is no longer present in the last version.
TYPO3 9.5.7
Product Manager 9.8.1
Is there a possibility to set up friendly urls on typo3 > 9.5?
I suggest to add another field (for example: PageId for list display) for to "list view products by categories" and just "list products"
and here why:
On the page "List categories" I show all categories
On the page "List product category" I show only one category
When I click on the product I see detail page of product and it is good
When I click on another category I see detail page with message "Not found - Product was not found".
I have details page of product separately...
"Not found - Product was not found"
It is because category to reference on the page...,
..., What I added for configuration and showing detail product
This page is configured only showing detail product
so as it is made for example in the ext:news
Sorry for my English, I hope you understood me...
We use "List view (Possible navigation)" and "Navigation menu" on one page. After updating from 9.6.3 to 9.7.1 we got the following error:
TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException
The controller "Product" is not allowed by plugin "Pi1". Please check for TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin() in your ext_localconf.php.
I have 2 product manager modules on home page:
navigation in sidebar and list view in main column
list view is only on home page but navigation is on few subpages where i dont want to see proudcts e.g. About us, Contact, 404 (custom error page)
When i'm on subpage the navigation module has bad linking. It add /404 before /category although i set Product page (empty value = current page) as Home so my link looks like:
my-site.com/404/category but it should go to my-site.com/category
In older version (9.6) of plugin it works well
There is no documentation about the "compare products" view (how to enable, how to use); plus I don't understand the difference between "Compare view" and "Compare pre-view".
i have the grouped list view in the footer of my Site.
it works well except if i am on the product detail page (one static page) then the list in the footer renders the product detail and not the list anymore. Same if i place the list plugin directly in the product detail page.
Is there a config or something that the list always render listing?
Thank you
When I'm setting up the Lazy-List-View (because I want to use the filters), the products can't be shown in the Single View.
It just reloads the Lazy-List-Page with all products unfiltered again.
In the URL the showAction seems to be called, but nothing happens.
(…?tx_pxaproductmanager_pi1%5Baction%5D=show&tx_pxaproductmanager_pi1%5Bcategory_0%5D=1&tx_pxaproductmanager_pi1%5Bcontroller%5D=Product&tx_pxaproductmanager_pi1%5Bproduct%5D=1&cHash=b3ffd2365cbb1cd33a29f5e602dbbe42#pm%3A%7B"limit"%3A0%7D)
There are no errors in the browser console.
I'm using:
Typo3 9.5.8
Product Manager 9.9.0
Is it possible to set the default view to "List" instead of "Grid"?
And if, could you plese let me know how? Thx!
There are times, especially when an alphabetical list of products includes numbers in their names, when a custom sort order would be useful. I could fudge it by using Date order and adjusting the dates manually. Now when we have a list like:
It would be nice to be able to control that sort order.
Thank you
Hello,
The gallery is by default set to only show one image, with the option to cycle through all with navigation arrows
is it possible to show more than one image in the gallery?
Hi!
I think line 16 and 27 in pxa_product_manager/Resources/Private/Less/product_manager.less may need replacing:
vertical-align: auto;
There's no 'auto' setting for vertical-align, so either it could be 'middle', 'initial' or 'baseline' (depending on what result you want to achieve)
There should be some possibility to be able to track events for google tag manager, with the help of data-layers.
My customer has a large product range with categories and subcategories. On the list page in page tree, we chose your Plugin with "List view (Possible navigation)". In the default language everything works fine: the page shows me all available subcategories first, then I can click into the subcategorie to show the related products. Plus I can see the subcategories in backend, tab "Sub-Categories" in the super category.
When we translate the products, the assignment of subcategories does not seem to work. Neither in frontend nor in backend tab "Sub-Categories", the sub categories are available (thus assigned as parent category of the subcategory dataset itself).
Hello,
is it possible to display the "One Level" routes without the argument category_0
?
if i leave out the category_title_0
in the routePath it appears (with cHash) as parameter to the url.
How it is now: https://mydomain/products/product-title?tx_pxaproductmanager_pi1%5Bcategory_0%5D=4&cHash=1s387d864drtac359cb147d1c6ea896
what i want: https://mydomain/products/product-title
Thank you
The extension name should be changed to "Product Manager" to be grammatically correct.
We are experiencing an issue where the import log is filling up the disk space. Would it be possible to disable the logging? Or maybe the other way around, opt in for logging?
The Gallery Pagination (Slider) not working when using routeEnhancers
myRouteEnhancers:
routeEnhancers:
ProductPlugin:
type: Extbase
limitToPages: [12,761,762] #Product Category/Detail
extension: PxaProductManager
plugin: Pi1
routes:
# Just product in URL when categories are excluded
-
routePath: '/{product_title}'
_controller: 'Product::show'
_arguments:
product_title: 'product'
# One level categories
-
routePath: '/{category_title_0}'
_controller: 'Product::list'
_arguments:
category_title_0: 'category_0'
-
routePath: '/{category_title_0}/{product_title}'
_controller: 'Product::show'
_arguments:
category_title_0: 'category_0'
product_title: 'product'
# Two levels
-
routePath: '/{category_title_0}/{category_title_1}'
_controller: 'Product::list'
_arguments:
category_title_0: 'category_0'
category_title_1: 'category_1'
-
routePath: '/{category_title_0}/{category_title_1}/{product_title}'
_controller: 'Product::show'
_arguments:
category_title_0: 'category_0'
category_title_1: 'category_1'
product_title: 'product'
# Three levels
-
routePath: '/{category_title_0}/{category_title_1}/{category_title_2}'
_controller: 'Product::list'
_arguments:
category_title_0: 'category_0'
category_title_1: 'category_1'
category_title_2: 'category_2'
-
routePath: '/{category_title_0}/{category_title_1}/{category_title_2}/{product_title}'
_controller: 'Product::show'
_arguments:
category_title_0: 'category_0'
category_title_1: 'category_1'
category_title_2: 'category_2'
product_title: 'product'
# Four levels
-
routePath: '/{category_title_0}/{category_title_1}/{category_title_2}/{category_title_3}'
_controller: 'Product::list'
_arguments:
category_title_0: 'category_0'
category_title_1: 'category_1'
category_title_2: 'category_2'
category_title_3: 'category_3'
-
routePath: '/{category_title_0}/{category_title_1}/{category_title_2}/{category_title_3}/{product_title}'
_controller: 'Product::show'
_arguments:
category_title_0: 'category_0'
category_title_1: 'category_1'
category_title_2: 'category_2'
category_title_3: 'category_3'
product_title: 'product'
defaultController: 'Product::list'
aspects:
category_title_0:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'pxapm_slug'
category_title_1:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'pxapm_slug'
category_title_2:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'pxapm_slug'
category_title_3:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'pxapm_slug'
product_title:
type: PersistedAliasMapper
tableName: 'tx_pxaproductmanager_domain_model_product'
routeFieldName: 'slug'
I try to use routeEnhancers on Typo3 9.5.4 and pxa_product_manager 9.9.1 but i get error:
Parameter "s718ea0134965a67874a698382ae9a94" for route "tx_pxaproductmanager_pi1_0" must match "[^/]++" ("/mycategory-name" given) to generate a corresponding URL.
How i can resolve it?
Hello, are there any plans for a update for TYPO3 10 ??
Many Thanks
George
When adding a new product in the default language (0) everything works.
Now when we translate a product, the field 'l10n_parent' of that (translated) product in the table 'tx_pxaproductmanager_domain_model_attributevalue' remains empty (or zero) afterwards.
This seems to lead to a bug where the filters do not work when we try to use attributes for filtering in the second (translated) language.
If we add the correct value (uid of the default-language record) for 'l10n_parent' into the table 'tx_pxaproductmanager_domain_model_attributevalue' manually the filtering works.
If we do not add the value by hand filtering over attributes does not work...
Illustrate the object and data structure of the extension.
is it possible to exclude Products with Disable Single View ON from showing in Lazy List?
Thank you very much
There's an incompatibility issue with MySQL versions greater 5.7. When editing a product, go to the "Access" Tab and remove a previously added start date. Now, you can't save the data because of the following error:
SQL error: 'Incorrect integer value: '' for column database
.tx_pxaproductmanager_domain_model_product
.starttime
at row 1' (tx_pxaproductmanager_domain_model_product:1)
When I'm setting up the List-View-Plugin and defining the product page, it still uses the List-View-Page to show the selected product in single view.
I've already set up the Single-View-Plugin on the product page.
I want to use an own page for the Single-View, because else the content above the List-View-Plugin is also shown on the Single-View-Page.
I'm using:
Typo3 9.5.8
Product Manager 9.9.0
As described in the readme of this project you rely on node.js for a lot of your tooling. However when running npm install
this happens:
jjacobsen@J > ~/Projects/extensions/pxa_product_manager (feature/link-attribute-sets-to-products-insteadof-categories) npm install
npm WARN deprecated [email protected]: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated [email protected]: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm ERR! Error while executing:
npm ERR! /usr/local/bin/git ls-remote -h -t https://github.com/FrDH/jQuery.TosRUs.git
npm ERR!
npm ERR! remote: Repository not found.
npm ERR! fatal: Repository 'https://github.com/FrDH/jQuery.TosRUs.git/' nicht gefunden.
npm ERR!
npm ERR! exited with error code: 128
Tested on node Versions v12.12.0 and v10.17.0
Hello,
i have 3 attributeSets and want do display them separately from each other.
In the product Object i have the sets as objects in the attributesGroupedBySets but in the attributeSet Object the attributes storage Object is empty
in the attributes Object directly inside the product i have all the attributes from the 3 sets.
I needed that the attributes object in the attributesGroupedBySets object be filled with the Attributes of this set
Thank you very much
In latest version (9.7.1), there is a typo in class LinkViewHelper:
In line 61 it should be
$pageUid = intval($this->arguments['pageUid'] ?? $GLOBALS['TSFE']->id);
instead of
$pageUid = intval($this->arguments['pagePid'] ?? $GLOBALS['TSFE']->id);
Meta description and keywords don't work. Can' find in code any usage of this fields
I suggest to add a new field to attribute type link (type6) where it is possible to set the link text. Now it displays the attribute name as link text so it is displayed twice.
Hello,
i was trying to Map PageType 1533906435 to sitemap.xml but then the Ajax calls (Lazy Loading List etc.) does not work anymore
My Configration:
routeEnhancers:
PageTypeSuffix:
type: PageType
default: /
index: index
map:
/: 0
sitemap.xml: 1533906435
does anybody have a working configuration for me?
Thank you very much
Variable {product.mainImage} is empty in single view of a product even if one of the products images is marked as Main Image.
I have the following structure:
-- Level1: Page "products" with ProductManager Plugin "list view"
Product Page: "category"
= List of all Categories
--- Level2: Page "category" with ProductManager Plugin "list view"
Product Page "detail"
= List of al Products of this category
---- Level3: Page "detail" with ProductManager Plugin "single view"
Product Page "same"
= Product Detail
With using the RoutingExample i get URLs like
for Level2: mydomain.de/products/category/{category_title_0}
for Level3: mydomain.de/products/category/detail/{category_title_0}/{product_title}
what i want:
for Level2: mydomain.de/products/{category_title_0}
for Level3: mydomain.de/products/{category_title_0}/{product_title}
if i add ../
to the routePath i get an 500-Error
what i tried:
# One level categories
-
routePath: '../{category_title_0}'
_controller: 'Product::list'
_arguments:
category_title_0: 'category_0'
-
routePath: '../../{category_title_0}/{product_title}'
_controller: 'Product::show'
_arguments:
category_title_0: 'category_0'
product_title: 'product'
How can i achieve the url without the static pages of level2/3 in the url?
Thank you for your help
After installing the extension there are two URL Segment fields in the sys_category form in the TYPO3 backend. Is this really required?
I see in the configuration for realURL mention of "$enableSkuInUrl" in Classes/RealUrl/realurl.php.
Where can I set that to 0?
Hello PPM Team,
i also got following error, even if i setup just 1 language and deleted the rest.
If i allow a non admin user to try to add a product, the category is not automatic assigned to it,
the product is created but without any category, therefore the user can't see it inside of the Product Manager Backend Menu.
If i add a product as admin it is working.
following code is triggered from file /ext/pxa_product_manager/Classes/Backend/FormDataProvider/ProductEditFormInitialize.php
if ($attributeHolder->getAttributes()->count()) {
$this->populateTCA($attributeHolder->getAttributeSets()->toArray(), $result['processedTca']);
$this->simulateDataValues($attributeHolder->getAttributes()->toArray(), $result['databaseRow']);
if (is_array($result['defaultLanguageDiffRow'])) {
$diffKey = sprintf(
'%s:%d',
$result['tableName'],
$result['databaseRow']['uid']
);
if (array_key_exists($diffKey, $result['defaultLanguageDiffRow'])) {
$this->setDiffData(
$result['defaultLanguageDiffRow'][$diffKey],
$result['defaultLanguageRow']
);
}
}
} else {
$this->showNotificationMessage('tca.notification_no_attributes_available');
}
Hello dear Pixelants Team,
if i use the Product Manager Modul instead of the List View to create a Product,
the automatic assigned Category is just the Child Category, which makes a problem,
if you doesn't add the parents Category too.
It won't be shown inside of the Product Manager afterwards if not set.
Is it possible to automaticly add the parents category, or change the view to also show the product without manually changing and adding the parent?
Clicking External Manual on https://extensions.typo3.org/extension/pxa_product_manager/
forwards to
https://www.typo3manual.com/extension-manuals/product-module/
which is a dead link. 404. Does not exist
Hi,
I've a problem with the attribute-fiters at the lazyList.
Typo3 version is 8.7.24-
All my attributes are of type multiSelect and I only use attribute-filters. My LazyList has no limit so every product of the allowed category is shown.
It seems that the attribute values of the last Item in a lazyList do not appear in the Filter if it's the only Item with this attribute-value.
For Example:
We have 4 Items with 2 Attributes. (Size: s, m, l, / Color: white, blue, red)
Item 1
Size: s
Color: white
Item 2
Size: m
Color: blue
Item 3
Size: l
color:blue
Item 4
Size: l
color:red
The option 'red' of 'color' will be disabled (hidden) in the filter.
The ID of the value is not included in the ajax-response of type 201701 (availableOptionsList), so it doesn't seem to be a javascript problem
If we change the order of the products to 1,2,4,3 then everything is shown in the filter ('blue' and 'l' are in use by products that are not the last item in list, so they appear).
Thanks for checking
Constantin
I have 2 problems and i’m not sure if it is an error in the extension or intended behavior. I use Typo3 9.5.4 with PHP 7.2 and the latest pxa_product_manager.
Nr. 1
I have a main folder Productstorage and inside this Folder i have sub folder Cars and Boats. I created Categories inside Productstorage like this, main categorie Cars and sub categorie big, medium and little, same with the Boats.
If I create a product inside of Productstorage everything is fine, I can chose a categorie and the product is displayed in the frontend. But if i create the product in one of the sub folders Cars or Boats i can’t chose a categorie because they are not there, it looks like i dont have any categories.
Did I something wrong or is it the intended behavior and everything should be in one folder?
Nr. 2
Its about the relations between products, lets say I have Product 1 and Product 2. When I make Produkt 1 related to Product 2, Product 2 is not automatically related to Product 1, I need to go to Product 2 and chose Product 1 as related.
In my Opinion it would make more sense(and in most Shops it is like this) when Product 1 is chosen to be related to Product 2 then Product 2 should be automatically related to Product 1 without an extra step.
English is not my strong side, I hope it is clear what I tried to describe, if something is not I gladly provide more info.
Hi,
I think attribute sets should not be bound to a category but instead directly to a product. If you bind attribute sets to categories, you are not able to have categories with different products. In medicine, for example, there are pills and ointments. Let's say we have a category "Pain" and now we have different types of products in this category that cannot have different attributes because the sets are tied to categories and not to products.
I started a branch which moves the attribute sets from categories to products here:
https://github.com/jacobsenj/pxa_product_manager/tree/feature/link-attribute-sets-to-products-insteadof-categories
What do you think about it?
Cheers
Jens
It is not possible to create a new product in a category using the Products Manager module if that category is empty. So the first product in each category has to be created in list view.
The extension ran perfectly on my development server. After I moved the website to my client's live server, the lazy list stopped working.
The products are no longer loaded, instead only the loading icon rotates and the console throws an error 500.
I was able to trace the error back to the ajaxLazyListAction, because Ajax gives me the error:
"Required argument" demand "is not set for Pixelant \ PxaProductManager \ Controller \ AjaxProductsController-> ajaxLazyList."
If I display data from ProductManager.LazyLoading.js in the console, however, this is filled and looks exactly the same as on my development server.
Even so, it does not seem to arrive at ajaxLazyList.
All other product modes work (e.g. list view).
Did someone have a similar case?
Does pxa_product_manager need special tools that may run on the old, but not on the new server?
I use:
Typo3 9.5.13
Product Manager 9.9.0
php 7.3.12
Discontinued products don't show up in Lazy Lists even if the list is configured to show them.
Hello guys,
i used the typoscript files for the Solr Settings,
and i can't get the Attributes to be indexed.
i removed the commenttags to allow following code to be used:
attribute_name = USER
attribute_name {
userFunc = Pixelant\PxaProductManager\UserFunction\SolrIndexSingleAttributeValue->getSingleAttributeValue
identifier = name
}
Could you tell me if something is being forgotten from my side?
F.ex. I wan't to be able to filter by the attribute "Length", but there are more than hundred different values, so it wouldn't make sense to create options for all of these values. It wouldn't be userfriendly to populate a dropdown with all these values in the filter either. Would it be possible to create som kind of "freetext" type filter?
Hi,
There is something terrible wrong in my installation.
I'm using two language setup, and translated categories won't work properly.
Case: cat tree like:
Result of this is that i don't get any categories (navigation) or products in FE for second language.
What's more, when browsing products [detail view] in product catalog in default language, parent categories are translated to second language.
I check for DB relations and Structure, also TCA - it's ok. My Environment also give no problems in tests.
My setup:
TYPO3 9.5.18
PHP 7.3.11 (tested also on 7.2) MySQL 5.7.28
plugin version 9.9.2 -> updated to (9.14.1) after detecting a problem.
Also it would be nice to see the plugin update in TYPO3 TER.
Thanks.
I am currently using TYPO3 9.5.8 and pxa_product_manager 9.8.6.
My customer has the requirement, that translated products should use fallback at least for attribute values (or for the whole product dataset with all subs). If a product is translated into 5 more languages, he wants to change the attribute values in the default language only (of course: only numeric values, not any values that need translation).
After hours of researching through your extension and the core, I could not figure out a way to do this. Is there a way ´? Or wouldn't this be a nice feature?
Best regards (your extension is awesome, I like working with it as it is so dynamic)!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.