5097 Posts in 1518 Topics by 1115 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1065 Views |
-
Help with custom page; make array and tags

8 July 2009 at 8:54am
I have the following GamesPage...
1. How can i make the Tags display like on the Blog? When you put a comma between them that they are seperated? And that you can click them? I guess i need a GamesTagesPage for this but how do i do this?
2. Category, i want this to be a fixed selection (like: category 1, category 2, category 3) how do i do this?
<?php
/**
* Defines the GamesPage page type
*/
class GamesPage extends Page {
static $db = array(
'Category' => 'Text',
'Tags' => 'Text',
'Description' => 'Text',
'Instructions' => 'Text'
);
static $has_one = array(
'Photo' => 'Image'
);function getCMSFields() {
$fields = parent::getCMSFields();$fields->addFieldToTab('Root.Content.Main', new Textfield('Category'), 'Content');
$fields->addFieldToTab('Root.Content.Main', new TextField('Tags'), 'Content');
$fields->addFieldToTab('Root.Content.Main', new TextField('Description'), 'Content');
$fields->addFieldToTab('Root.Content.Main', new TextField('Instructions'), 'Content');
$fields->addFieldToTab('Root.Content.Images', new ImageField('Photo'));
return $fields;
}
static $icon = "themes/Vista/images/treeicons/games";
static $defaults = array(
'ProvideComments' => true
);}
class GamesPage_Controller extends Page_Controller {
}
?>
-
Re: Help with custom page; make array and tags

13 July 2009 at 11:50am
1. Look into the blogmodule. Reading lines 92-110 in BlogEntry.php, TagCloudWidget.ss and lines 8-15 in BlogEntry.ss will learn you alot.
2. I don't really understand what you want to do. But you might want to look here: http://doc.silverstripe.org/doku.php?id=form-field-types and try something with CheckboxSetField, OptionSetField and DropdownField. -
Re: Help with custom page; make array and tags

13 July 2009 at 8:37pm
I want to have a dropdownmenu for category in the cms.
I will look into the links you've send me, thnx.
-
Re: Help with custom page; make array and tags

14 July 2009 at 7:41am
Oke That's gone work!
2 more questions though about the same first post ;)
1. How can i make the field with "Instructions" have more lines? I tried something with: http://doc.silverstripe.org/doku.php?id=textareafield but that didn't work at all...
2. How can i show my Categories on a GamesHolder.ss page? So that the are clickable aswell? So first a summary and then you can click on them
New GamesHolder.php
<?php
/**
* Defines the GamesPage page type
*/
class GamesPage extends Page {
static $db = array(
'Category' => 'Varchar(100)',
'Tags' => 'Text',
'Description' => 'Text',
'Instructions' => 'Text'
);
static $has_one = array(
'Photo' => 'Image'
);function getCMSFields() {
$fields = parent::getCMSFields();// Category Array
$array = array(
'Klassiekers' => 'Klassiekers',
'US' => 'United States',
'US' => 'United States',
'US' => 'United States',
'US' => 'United States',
'US' => 'United States',
'US' => 'United States'
);$fields->addFieldToTab('Root.Content.Main', new DropdownField('Category', 'Category', $array), 'Content');
$fields->addFieldToTab('Root.Content.Main', new TextField('Tags', 'Tags (comma sep.)'), 'Content');
$fields->addFieldToTab('Root.Content.Main', new TextField('Description'), 'Content');
$fields->addFieldToTab('Root.Content.Main', new TextField('Instructions'), 'Content');
$fields->addFieldToTab('Root.Content.Images', new ImageField('Photo'));
return $fields;
}/**
* Returns the tags added to this games entry
*/
function TagsCollection() {
$tags = split(" *, *", trim($this->Tags));
$output = new DataObjectSet();
foreach($tags as $tag) {
$output->push(new ArrayData(array(
'Tag' => $tag,
'Link' => $this->getParent()->Link() . 'tag/' . urlencode($tag)
)));
}
if($this->Tags) {
return $output;
}
}static $icon = "themes/Vista/images/treeicons/games";
static $defaults = array(
'ProvideComments' => true
);}
class GamesPage_Controller extends Page_Controller {
}
?>
| 1065 Views | ||
|
Page:
1
|
Go to Top |

