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're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

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

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

How to get page type.


Go to End


5 Posts   3816 Views

Avatar
w1nk5

Community Member, 25 Posts

13 July 2010 at 12:30pm

Edited: 13/07/2010 12:31pm

I would like to load a footer image depending on the page type. How can I do this?

<% if pagetype = "pagetype" %>
do whatever
<% end_if %>

something like this.

Avatar
w1nk5

Community Member, 25 Posts

13 July 2010 at 12:40pm

I figured it out.

<% if RecordClassName = "PageType" %>
do whatever
<% end_if %>

Avatar
TotalNet

Community Member, 181 Posts

13 July 2010 at 1:17pm

I was going to say ClassName but both seem to work, I wonder if there's a difference?

Avatar
RichMcNabb

Community Member, 34 Posts

20 November 2010 at 6:34pm

Hi,

I am trying to do something similar and display children if they have the jobpage page type. Any help would be much appreciated. Below is the code I have so far:

--------------------------------
JobHolder.ss
--------------------------------
<div class="typography">
<% if Menu(2) %>
<% include SideBar %>
<div id="content">
<% end_if %>
<% include PageHeading %>
$Content
$Form
$PageComments
<% if JobHolder = JobPage %>
<% control Children %>
<div class="job_posting">
<h2>$JobTitle - $JobLocation</h2>
<p><strong>Closing date: </strong>$ClosingDate.Nice &nbsp;&#8226;&nbsp; <strong>Contact: </strong>$ContactPerson &nbsp;&#8226;&nbsp; <strong>Phone: </strong>$ContactPhoneNumber &nbsp;&#8226;&nbsp; <strong>Mobile: </strong>$ContactMobileNumber</p>
<p><strong>Job Details: </strong>$JobDetails.LimitWordCount(50)</p>
<a href="$Link">Read more...</a></div>
<div class="clear"> </div>
<% end_control %>
<% else %>
<h2>Available vacacnies</h2>
<p>There are currently no vacancies available with CDP. No problem, send us your resume so we can get in touch for any future positions you could be perfect for - <a href="mailto:careers@cdp.co.nz">careers@cdp.co.nz</a>.</p>
<% end_if %>
<% if Menu(2) %>
</div>
<% end_if %>
</div>

------------------------------------
JobHolder.php
------------------------------------
<?php

class JobHolder extends Page {
static $db = array(
);

static $has_one = array(
);

static $allowed_children = array('JobPage','UserDefinedForm');

function getCMSFields() {
$fields = parent::getCMSFields();

$fields->removeFieldFromTab("Root.Content.Main", "LinkDescription");

return $fields;
}

}

class JobHolder_Controller extends Page_Controller {

}

?>

--------------------------------
JobPage.php
--------------------------------
<?php

/**
* Defines the JobPage page type
*/

class JobPage extends Page {
static $db = array(
'JobTitle' => 'Text',
'JobLocation' => 'Text',
'ClosingDate' => 'Date',
'ContactPerson' => 'Text',
'ContactPhoneNumber' => 'Text',
'ContactMobileNumber' => 'Text',
'JobDetails' => 'HTMLText',
);

static $has_one = array(
'JobDescriptionDownload' => 'File',
);

function getCMSFields() {
$fields = parent::getCMSFields();

$fields->removeFieldFromTab("Root.Content.Main", "Content");
$fields->addFieldToTab("Root.Content.JobPosting", new TextField("JobTitle", "Job Title"));
$fields->addFieldToTab("Root.Content.JobPosting", new DropdownField('JobLocation','Job Location',singleton('JobLocation')->dbObject('Location')->enumValues()));
$fields->addFieldToTab("Root.Content.JobPosting", new DatePickerField('ClosingDate','Application closing date'));
$fields->addFieldToTab("Root.Content.JobPosting", new TextField("ContactPerson", "Contact person"));
$fields->addFieldToTab("Root.Content.JobPosting", new TextField("ContactPhoneNumber", "Contact phone number"));
$fields->addFieldToTab("Root.Content.JobPosting", new EmailField("ContactMobileNumber", "Contact mobile number"));
$fields->addFieldToTab("Root.Content.JobPosting", new FileIFrameField('JobDescriptionDownload', 'Upload a PDF of the job description'));
$fields->addFieldToTab("Root.Content.JobPosting", new HtmlEditorField("JobDetails", "JobDetails"));

return $fields;
}
}

class JobPage_Controller extends Page_Controller {

}
?>

Avatar
RichMcNabb

Community Member, 34 Posts

20 November 2010 at 6:52pm

Does my JobHolder.php need the following:

static $has_many = array(
"Jobs"=>"Job"
);