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.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

Cannot access Admin - dev/build and possibly others.


Go to End
Reply

9 Posts   1887 Views

Avatar
KaDMiO

29 July 2011 at 1:57pm Community Member, 5 Posts

Hi all!

Even though it is the first time I use SilverStripe, I've found it very useful, keep up the good work!

The problem I am having is that I cannot access either the admin page nor any of the dev pages. I admit I have been tinkering with the code, but nothing related to the part that handles paths. flush=all won't work either.

The page I always land on says:
Server error
Sorry, there was a problem with handling your request.

I don't really know what to do, any help is appreciated. Whatever you need, just ask me.

Thanks!

Avatar
swaiba

29 July 2011 at 9:22pm Forum Moderator, 1796 Posts

Hi KaDMiO,

Welcome to Silverstripe!

The server error can be turned into something more meaningful, please checkout http://www.silverstripe.org/general-questions/show/16055 for turning on dev mode.

Avatar
KaDMiO

29 July 2011 at 11:27pm Community Member, 5 Posts

Thanks a lot about that!

It seemed that a function I had added to page.php was triggering the problem. By removing it I was able to solve this issue, but now I have another one. I need a way of knowing if a certain page has or has not a Sidebar with widgets in it. The code I had added was the following:

I have found it in another post of the forum.

function IHaveWidgets () {
return DataObject::get("Widget", "ParentID = $this->SidebarID");
}

Do you know a way I can do the same without breaking the installation?

Again, thanks for the superquick answer.

Avatar
swaiba

29 July 2011 at 11:32pm Forum Moderator, 1796 Posts

Looks fine to me, although I've never used it, what was the errror?

Avatar
KaDMiO

29 July 2011 at 11:43pm Community Member, 5 Posts

This is the specific error.

[User Error] Couldn't run query: SELECT "Widget"."ClassName", "Widget"."Created", "Widget"."LastEdited", "Widget"."Sort", "Widget"."Enabled", "Widget"."ParentID", "PageContentWidget"."WidgetTitle", "PageContentWidget"."PageID", "Widget"."ID", CASE WHEN "Widget"."ClassName" IS NOT NULL THEN "Widget"."ClassName" ELSE 'Widget' END AS "RecordClassName" FROM "Widget" LEFT JOIN "PageContentWidget" ON "PageContentWidget"."ID" = "Widget"."ID" WHERE (ParentID = ) ORDER BY "Sort" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY "Sort"' at line 1

This is the trace:

Trace

Couldn't run query: SELECT "Widget"."ClassName", "Widget"."Created", "Widget"."LastEdited", "Widget"."Sort", "Widget"."Enabled", "Widget"."ParentID", "PageContentWidget"."WidgetTitle", "PageContentWidget"."PageID", "Widget"."ID", CASE WHEN "Widget"."ClassName" IS NOT NULL THEN "Widget"."ClassName" ELSE 'Widget' END AS "RecordClassName" FROM "Widget" LEFT JOIN "PageContentWidget" ON "PageContentWidget"."ID" = "Widget"."ID" WHERE (ParentID = ) ORDER BY "Sort" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY "Sort"' at line 1
Line 525 of MySQLDatabase.php

MySQLDatabase->databaseError(Couldn't run query: SELECT "Widget"."ClassName", "Widget"."Created", "Widget"."LastEdited", "Widget"."Sort", "Widget"."Enabled", "Widget"."ParentID", "PageContentWidget"."WidgetTitle", "PageContentWidget"."PageID", "Widget"."ID", CASE WHEN "Widget"."ClassName" IS NOT NULL THEN "Widget"."ClassName" ELSE 'Widget' END AS "RecordClassName" FROM "Widget" LEFT JOIN "PageContentWidget" ON "PageContentWidget"."ID" = "Widget"."ID" WHERE (ParentID = ) ORDER BY "Sort" | You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY "Sort"' at line 1,256)
Line 123 of MySQLDatabase.php

MySQLDatabase->query(SELECT "Widget"."ClassName", "Widget"."Created", "Widget"."LastEdited", "Widget"."Sort", "Widget"."Enabled", "Widget"."ParentID", "PageContentWidget"."WidgetTitle", "PageContentWidget"."PageID", "Widget"."ID", CASE WHEN "Widget"."ClassName" IS NOT NULL THEN "Widget"."ClassName" ELSE 'Widget' END AS "RecordClassName" FROM "Widget" LEFT JOIN "PageContentWidget" ON "PageContentWidget"."ID" = "Widget"."ID" WHERE (ParentID = ) ORDER BY "Sort",256)
Line 129 of DB.php

DB::query(SELECT "Widget"."ClassName", "Widget"."Created", "Widget"."LastEdited", "Widget"."Sort", "Widget"."Enabled", "Widget"."ParentID", "PageContentWidget"."WidgetTitle", "PageContentWidget"."PageID", "Widget"."ID", CASE WHEN "Widget"."ClassName" IS NOT NULL THEN "Widget"."ClassName" ELSE 'Widget' END AS "RecordClassName" FROM "Widget" LEFT JOIN "PageContentWidget" ON "PageContentWidget"."ID" = "Widget"."ID" WHERE (ParentID = ) ORDER BY "Sort",256)
Line 400 of SQLQuery.php

SQLQuery->execute()
Line 2736 of DataObject.php

DataObject->instance_get(ParentID = ,,,,DataObjectSet)
Line 2714 of DataObject.php

DataObject::get(Widget,ParentID = )
Line 12 of Page.php

Page->IHaveWidgets()

call_user_func_array(Array,Array)
Line 693 of Object.php

Avatar
KaDMiO

29 July 2011 at 11:44pm Community Member, 5 Posts

The error was triggered by trying to access the admin page.

Avatar
swaiba

30 July 2011 at 12:00am Forum Moderator, 1796 Posts

Sounds like you don't have...

class Page extends SiteTree {
...
   public static $has_one = array(
      "SideBar" => "WidgetArea",
   );
...

but you could wrap it with this to ensure it doesn't error in that case...

function IHaveWidgets () {
   if (is_numeric($this->SidebarID)) {
      return DataObject::get("Widget", "ParentID = $this->SidebarID");
   }
return null;
}

Avatar
KaDMiO

30 July 2011 at 8:53am Community Member, 5 Posts

Thanks a lot! That did it!

Page.php does have the WidgetArea enabled, I think the problem was that one of the Admin sites does inherit from Page.php, but has the $has_one variable defined differently, without the WidgetArea.

Go to Top