Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Blog Module /

Discuss the Blog Module.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

widgets have wrong parentid - multiple widgetareas in the db


Go to End


2 Posts   2001 Views

Avatar
pst

Community Member, 9 Posts

10 October 2009 at 5:04am

Hey,

I have a strange problem with the blog module and the widgets. The following is the db after a /dev/reset

mysql> SELECT * FROM WidgetArea;
+----+------------+---------------------+---------------------+
| ID | ClassName  | Created             | LastEdited          |
+----+------------+---------------------+---------------------+
|  1 | WidgetArea | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |
+----+------------+---------------------+---------------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM Widget;
+----+----------------------+---------------------+---------------------+------+----------+
| ID | ClassName            | Created             | LastEdited          | Sort | ParentID |
+----+----------------------+---------------------+---------------------+------+----------+
|  1 | BlogManagementWidget | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |    0 |        1 |
|  2 | TagCloudWidget       | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |    0 |        1 |
|  3 | ArchiveWidget        | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |    0 |        1 |
+----+----------------------+---------------------+---------------------+------+----------+
3 rows in set (0.00 sec)

All seems fine, there are three widgets and they have the ParentID 1 which seems to be the WidgetArea from the first query. Sadly the widgets do now show up in the template.

In the CMS widgets currenty used is empty. If I add some, they show up in the admin. Saving them says "saved" but they still do not show up on the page. After a reload of the CMS they are also not in the widgets currently used list anymore.

The db looks like this now:

mysql> SELECT * FROM WidgetArea;
+----+------------+---------------------+---------------------+
| ID | ClassName  | Created             | LastEdited          |
+----+------------+---------------------+---------------------+
|  1 | WidgetArea | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |
|  2 | WidgetArea | 2009-10-09 18:02:41 | 2009-10-09 18:02:41 |
+----+------------+---------------------+---------------------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM Widget;
+----+----------------------+---------------------+---------------------+------+----------+
| ID | ClassName            | Created             | LastEdited          | Sort | ParentID |
+----+----------------------+---------------------+---------------------+------+----------+
|  1 | BlogManagementWidget | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |    0 |        1 |
|  2 | TagCloudWidget       | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |    0 |        1 |
|  3 | ArchiveWidget        | 2009-10-09 17:57:39 | 2009-10-09 17:57:39 |    0 |        1 |
|  4 | TagCloudWidget       | 2009-10-09 18:02:41 | 2009-10-09 18:02:41 |    0 |        2 |
+----+----------------------+---------------------+---------------------+------+----------+
4 rows in set (0.00 sec)

As you can see, instead of adding the widget to the existing widget area, a new one ID=2 got created and the TagCloudWidget with ID=4 got ParentID=2. Strange thing is, this did already work for me. Just not after a /dev/reset

Another strange thing is, for the faqs module the widgets work perfecty.

Any ideas what I can do?

Avatar
pst

Community Member, 9 Posts

10 October 2009 at 6:05am

I forgot to mention that. The problem is relatively easy to fix, by manually updating the SideBarID of the Blog_Holder. Although I doubt this is working as intended. :)