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

How to get page type.


Go to End
Reply


5 Posts   2647 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"
);