New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for: Banners matched only by tags results in SQL error #5107
Conversation
I can not bring together what started in this forum thread - http://forum.joomla.org/viewtopic.php?f=621&t=731120&view=previous#p2841883 (mentioned in #5000) - with what you did in your patch. In other words: I cannot replicate the original problem. So the display of "module banner" depends basically on three criteria (I ignore the menu assignment, as it was set to "on all pages" in all of my tests):
When applying your patch the "categories" table is not joined when the default setting - "all categories" - is set. Without your patch the "categories" table is always joined. I my opinion the wording "all categories" implies that the table "categories" is joined. Otherwise is should be named "not used" or something like that. The forum thread described a problem with the "Search by Meta Keyword". So I tested this with the following procedure using the current stage branch:
Result: the banner is not displayed but it should. What I found out was, that a client must be selected in the banner, than the banner get´s displayed. This is an error as the client is not a mandatory field in the banner. It should function without assigning a client. Apart from that the "Search by Meta Keyword" works for me. Maybe I got it totally wrong. In this case, please advise. |
The filter for categories does not have anything to do with the categories table. Basically, you are only saying that you either want to have banners from all categories or just specific categories. In the first case, we don't have to do anything, in the second case we only have to compare the category ID of the banner with some ID that we saved before. So we don't need any data from the categories table. However, if we filter by category AND a tag/metakey/whatever, we are trying to filter also by category metadata and that fails before this patch. Please test again. |
So here is my next try. The ingredients:
You have to enter a "tag" in the banner or/and the banner category.
Before the patch you should see notices like: Warning: Invalid argument supplied for foreach() in joomla34\components\com_banners\models\banners.php on line 201 After the patch the banner is display correctly. Note that you have to assign a client to the banner otherwise the banner will not show up in the frontend. As the client is not a mandatory field in the banner it should also work without assigning a client. Anyway: the problem is solved #cjtop can you please check this patch also? |
@test success! |
Two good tests setting RTC This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/5107. |
Fix for: Banners matched only by tags results in SQL error
The category table is falsely included/not included. Long story short, this fixes #5000 and is a better fix than #5098 See there for testing instructions.