本文整理汇总了PHP中TreeDropdownField::setRightTitle方法的典型用法代码示例。如果您正苦于以下问题:PHP TreeDropdownField::setRightTitle方法的具体用法?PHP TreeDropdownField::setRightTitle怎么用?PHP TreeDropdownField::setRightTitle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeDropdownField
的用法示例。
在下文中一共展示了TreeDropdownField::setRightTitle方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCMSFields
/**
* Standard SS method
* @return FieldSet
*/
function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Images", new CheckboxField("HasImages", _t("ProductQuestion.HAS_IMAGES", "This question makes use of images")));
if (!$this->HasImages) {
$fields->addFieldToTab("Root.DefaultFormField", new OptionSetField("DefaultFormField", _t("ProductQuestion.DEFAULTFORMFIELD", "Field type to use"), $this->Options ? $this->Config()->get("available_form_fields_list") : $this->Config()->get("available_form_fields_free")));
} else {
$fields->removeFieldFromTab("Root.Main", "DefaultFormField");
}
$productFieldTitle = _t("ProductQuestion.PRODUCTS", "Products showing this question");
if ($this->ApplyToAllProducts) {
$productField = new HiddenField("ProductsToIgnore");
} elseif (Product::get()->count() < $this->Config()->get("max_products_for_checkbox_set_field")) {
$productField = new CheckboxSetField("Products", $productFieldTitle, Product::get()->map("ID", "FullName")->toArray());
} else {
$productField = new GridField('Products', _t("ProductQuestion.PRODUCTS", "Products showing this question"), $this->Products(), GridFieldEditOriginalPageConfigWithDelete::create());
}
$fields->addFieldToTab("Root.Products", $productField);
if (!$this->ApplyToAllProducts) {
foreach ($this->Products() as $product) {
$fields->addFieldToTab("Root.Products", new LiteralField("Product" . $product->ID, "<h5><a href=\"" . $product->CMSEditLink() . "\">" . _t("ProductQuestion.BACK_TO", "Edit ") . " " . $product->Title . "</a></h5>"));
}
}
if ($this->HasImages) {
$folders = Folder::get();
if ($folders->count()) {
$folderMap = $folders->map("ID", "Title")->toArray();
$folders = null;
$fields->removeFieldFromTab("Root.Main", "Folder");
$fields->addFieldToTab("Root.Images", $treeDropdownField = new TreeDropdownField("FolderID", _t("ProductQuestion.FOLDER", "Folder"), "Folder"));
$treeDropdownFieldRightTitle = _t("ProductQuestion.FOLDER_ID", "Select the folder in which the images live.\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong>\n\t\t\t\t\t\tThe images need to have the exact same file name as the options listed.\n\t\t\t\t\t\tFor example, if one of your options is 'red' then there should be a file in your folder called 'red.png' or 'red.jpg' or 'red.gif',\n\t\t\t\t\t\tthe following filenames would not work: 'Red.png', 'red1.jpg', 'RED.gif', etc...\n\t\t\t\t\t</strong>");
$folder = Folder::get()->byID($this->FolderID);
if ($folder) {
$treeDropdownFieldRightTitle .= "\n\t\t\t\t\t\t<br /><a href=\"admin/assets/show/" . $folder->ID . "/\">" . _t("ProductQuestion.OPEN", "Open") . " " . $folder->Title . "</a>\n\t\t\t\t\t\t<br /><a href=\"admin/assets/add/?ID" . $folder->ID . "/\">" . _t("ProductQuestion.ADD_IMAGES_TO", "Add images to") . " " . $folder->Title . "</a>";
}
$treeDropdownField->setRightTitle($treeDropdownFieldRightTitle);
}
if ($this->FolderID) {
$imagesInFolder = Image::get()->filter(array("ParentID" => $this->FolderID));
if ($imagesInFolder->count()) {
$imagesInFolderArray = $imagesInFolder->map("ID", "Name")->toArray();
$options = explode(",", $this->Options);
$imagesInFolderField = new ReadonlyField("ImagesInFolder", _t("ProductQuestion.NO_IMAGES", "Images in folder"), implode("<br />", $imagesInFolderArray));
$imagesInFolderField->dontEscape = true;
$fields->addFieldToTab("Root.Images", $imagesInFolderField);
//matches
if ($this->exists()) {
$matchesInFolderArray = array();
$nonMatchesInFolderArray = array();
$options = explode(",", $this->Options);
if (count($options)) {
foreach ($options as $option) {
$fileNameArray = self::create_file_array_from_option($option);
foreach ($fileNameArray as $fileName) {
if (in_array($fileName, $imagesInFolderArray)) {
$matchesInFolderArray[$option] = "<strong>" . $option . "</strong>: " . $fileName;
}
}
if (!isset($matchesInFolderArray[$option])) {
$nonMatchesInFolderArray[$option] = "<strong>" . $option . " - add one these files: </strong>" . implode(",", $fileNameArray);
}
}
}
$matchesInFolderField = new ReadonlyField("MatchesInFolder", _t("ProductQuestion.MATCHES_IN_FOLDER", "Matches in folder"), implode("<br />", $matchesInFolderArray));
$matchesInFolderField->dontEscape = true;
$fields->addFieldToTab("Root.Images", $matchesInFolderField);
$nonMatchesInFolderField = new ReadonlyField("NonMatchesInFolder", _t("ProductQuestion.NON_MATCHES_IN_FOLDER", "NON Matches in folder"), implode("<br />", $nonMatchesInFolderArray));
$nonMatchesInFolderField->dontEscape = true;
$fields->addFieldToTab("Root.Images", $nonMatchesInFolderField);
}
} else {
$imagesInFolderField = new ReadonlyField("ImagesInFolder", "Images in folder", _t("ProductQuestion.NO_IMAGES", "There are no images in this folder"));
$fields->addFieldToTab("Root.Main", $imagesInFolderField);
}
}
} else {
$fields->removeByName("Folder");
}
if ($this->Products()->count()) {
$randomProduct = $this->Products()->First();
$fields->addFieldToTab("Root.Example", $this->getFieldForProduct($randomProduct));
}
$folderExplanation = _t("ProductQuestion.FOLDER_EXPLANATION", "Tick the box to link each option to an image (e.g. useful if you have colour swatches).\n\t\t\t\tOnce ticked and the question is saved you will be able to select a folder from where to select the images.");
$field = $fields->dataFieldByName("HasImages");
if ($field) {
$field->setDescription($folderExplanation);
}
$this->extend('updateCMSFields', $fields);
//custom field labels
$internalCodeField = $fields->dataFieldByName("InternalCode");
$internalCodeField->setRightTitle(_t("ProductQuestion.INTERNALCODE", "Code used to identify question (not shown to customers)"));
$questionField = $fields->dataFieldByName("Question");
$questionField->setRightTitle(_t("ProductQuestion.QUESTION", "Question (e.g. what configuration do you prefer?)"));
$labelField = $fields->dataFieldByName("Label");
$labelField->setRightTitle(_t("ProductQuestion.LABEL", "Label (e.g. Your selected configuration)"));
$defaultAnswerField = $fields->dataFieldByName("DefaultAnswer");
//.........这里部分代码省略.........
示例2: assetsFolderField
public static function assetsFolderField($obj, $dirExists)
{
$field = null;
$msg = null;
if ($dirExists) {
//Message
$defaultMsg = '<em>Files uploaded via the content area will be uploaded to</em>' . '<br /> <strong>' . Upload::config()->uploads_folder . '</strong>';
if (method_exists($obj, 'getMessageUploadDirectory')) {
$msg = $obj->getMessageUploadDirectory();
}
if (!$msg) {
$msg = $defaultMsg;
}
//TODO these could also be global settings
$manageAble = true;
$editable = true;
//As this is happening from the subsites administration, when editing a subsite
//you'd probably be on another site, and hence can't access the site's files anyway
if ($obj->ClassName == 'Subsite') {
$manageAble = false;
$editable = false;
}
if ($editable) {
//Asset folder is editable
$field1 = new TreeDropdownField('AssetsFolderID', 'Change Directory:', 'Folder');
$field1->setRightTitle('Directory changes take place after saving.');
//Dropdown field style adjustments
//TODO move this to an external stylesheet as these styles don't kick in on AJAX loads
Requirements::customCSS('
#Form_EditForm_UploadDirRulesNotes .ui-accordion-content {
overflow: visible;
}
#TreeDropdownField_Form_EditForm_AssetsFolderID {
min-width: 260px;
}
.UploadDirectoryFields .fieldgroup label {
padding: 0 0 4px;
}
');
$dir = $obj->AssetsFolder();
$filescount = File::get()->filter(array('ParentID' => $dir->ID))->count();
$manageButton = null;
if ($manageAble) {
$manageButton = "<a href='/admin/assets/show/" . $dir->ID . "' class='ss-ui-button ss-ui-button-small ui-button'>\n Manage Files (" . $filescount . ')</a>';
}
$field2 = new LiteralField('UploadDirRulesNote', "<div style='margin-bottom:10px;margin-right:16px;'>{$msg}</div>" . $manageButton);
$field = new FieldGroup(array($field2, $field1));
$field->setTitle('Upload Directory');
$field->addExtraClass('UploadDirectoryFields');
$field->setName('UploadDirectoryFields');
} else {
//Asset folder is not editable
$field = new LiteralField('UploadDirRulesNote', '
<div class="field text" id="UploadDirRulesNote">
<label class="left">Upload Directory</label>
<div class="middleColumn">
<p style="margin-bottom: 0; padding-top: 0px;">
' . $msg . '
<br />
<em>If you need to edit or change this folder, please contact your administrator.</em>
</p>
</div>
</div>
');
}
} else {
//Message
$defaultMsg = 'Please <strong>choose a name and save</strong> for adding content.';
if (method_exists($obj, 'getMessageSaveFirst')) {
$msg = $obj->getMessageSaveFirst();
}
if (!$msg) {
$msg = $defaultMsg;
}
//preview calculated assets folder
//$msg = $msg . ' (' . $this->owner->getCalcAssetsFolderDirectory() . ')';
$field = new LiteralField('UploadDirRulesNote', '
<p class="message notice" >' . $msg . '</p>
');
}
return $field;
}
示例3: updateCMSFields
public function updateCMSFields(FieldList $fields)
{
if ($this->classHasAdvertisements($this->owner->ClassName)) {
$tabName = $this->MyTabName();
//advertisements shown...
$where = '1 = 1';
if ($this->owner->AdvertisementsFolderID) {
$images = Image::get()->filter("ParentID", $this->owner->AdvertisementsFolderID);
if ($images->count()) {
$where = "\"AdvertisementImageID\" IN (" . implode(",", $images->column("ID")) . ")";
} else {
$where = " 1 = 2";
}
}
//$advertisementsCount = DB::query("SELECT COUNT(ID) FROM \"Advertisement\" $whereDB ;")->value();
$advertisements = $this->owner->Advertisements()->where($where);
$txt = sprintf(_t("AdvertisementDecorator.ACTUAL", 'Current %1$s Shown'), Config::inst()->get("Advertisement", "plural_name"));
$fields->addFieldToTab($tabName, $this->MyHeaderField($txt));
$txt = sprintf(_t("AdvertisementDecorator.SELECT", 'Select %1$s to show ... '), Config::inst()->get("Advertisement", "plural_name"));
$advertisementsGridField = new GridField('Advertisements', $txt, $this->owner->Advertisements(), GridFieldConfig_RelationEditor::create());
$fields->addFieldToTab($tabName, $advertisementsGridField);
if (Config::inst()->get("Advertisement", "resize_images") == 'no') {
$totalSize = 0;
foreach ($this->owner->Advertisements() as $advertisement) {
$totalSize += $advertisement->AdvertisementImage()->getAbsoluteSize();
}
$seconds = round(($totalSize + 1) / 524288);
$fields->addFieldToTab($tabName, new LiteralField("TotalSize", '<p><em>Total download size: ' . File::format_size($totalSize) . ', good reception 3G network download time less than ~' . ($seconds + 1) . ' seconds.</em></p>'));
}
if (class_exists("DataObjectSorterController")) {
$shownAdvertisements = $this->owner->getManyManyComponents('Advertisements');
if ($shownAdvertisements) {
$array = $shownAdvertisements->column("ID");
$idString = implode(",", $array);
$link = DataObjectSorterController::popup_link("Advertisement", $filterField = "ID", $filterValue = $idString, $linkText = "sort " . Config::inst()->get("Advertisement", "plural_name"), $titleField = "FullTitle");
$fields->addFieldToTab($tabName, new LiteralField("AdvertisementsSorter", $link));
}
}
if ($advertisements->count()) {
} else {
$txt = sprintf(_t("AdvertisementDecorator.CREATE", '<p>Please <a href="admin/%1$s/">create %2$s</a> on the <a href="admin/%1$s/">%3$s tab</a> first, or see below on how to create %2$s from a folder.</p>'), Config::inst()->get("AdvertisementAdmin", "url_segment"), Config::inst()->get("Advertisement", "plural_name"), Config::inst()->get("AdvertisementAdmin", "menu_title"));
$fields->addFieldToTab($tabName, new LiteralField("AdvertisementsHowToCreate", $txt));
}
if ($parent = $this->advertisementParent()) {
$txt = sprintf(_t("AdvertisementDecorator.ORUSE", 'OR ... use %1$s from <i>%2$s</i>.'), Config::inst()->get("Advertisement", "plural_name"), $parent->Title);
$fields->addFieldToTab($tabName, new CheckboxField("UseParentAdvertisements", $txt));
}
//create new advertisements
$txt = sprintf(_t("AdvertisementDecorator.CREATE", 'Create new %1$s'), Config::inst()->get("Advertisement", "plural_name"));
$fields->addFieldToTab($tabName, $this->MyHeaderField($txt));
$txt = sprintf(_t("AdvertisementDecorator.CREATENEWFROMFOLDER_EXPLANATION", 'Create New %1$s from images in the folder selected - each image in the folder will be used to create a %3$s. %2$s'), Config::inst()->get("Advertisement", "plural_name"), Advertisement::recommended_image_size_statement(), Config::inst()->get("Advertisement", "singular_name"));
if (Folder::get()->count()) {
$fields->addFieldToTab($tabName, $treeDropdownField = new TreeDropdownField('AdvertisementsFolderID', _t("AdvertisementDecorator.CREATENEWFROMFOLDER", "Create from folder"), 'Folder'));
$treeDropdownField->setRightTitle($txt);
}
$styles = AdvertisementStyle::get();
if ($styles->count()) {
$fields->addFieldToTab($tabName, $this->MyHeaderField("Style"));
$list = $styles->map("ID", "Title", $emptyString = _t("AdvertisementDecorator.SELECTSTYLE", "--select style--"), $sortByTitle = true);
$fields->addFieldToTab($tabName, $selectStyleField = new DropdownField("AdvertisementStyleID", _t("AdvertisementDecorator.STYLECREATED", "Select style"), $list));
$selectStyleField->setRightTitle(_t("AdvertisementDecorator.STYLECREATED_EXPLANATION", "Styles are created by your developer"));
}
$txt = sprintf(_t("AdvertisementDecorator.EDIT", 'Edit %1$s'), Config::inst()->get("Advertisement", "plural_name"));
$fields->addFieldToTab($tabName, $this->MyHeaderField($txt));
$txt = sprintf(_t("AdvertisementDecorator.PLEASEMANAGEEXISTING", '<p>Please manage existing %1$s on the <a href="admin/%2$s/">%3$s tab</a>.</p>'), Config::inst()->get("Advertisement", "plural_name"), Config::inst()->get("AdvertisementAdmin", "url_segment"), Config::inst()->get("AdvertisementAdmin", "menu_title"));
$fields->addFieldToTab($tabName, new LiteralField("ManageAdvertisements", $txt));
$txt = sprintf(_t("AdvertisementDecorator.DELETE", 'Delete %1$s'), Config::inst()->get("Advertisement", "plural_name"));
$fields->addFieldToTab($tabName, $this->MyHeaderField($txt));
$page = SiteTree::get()->byID($this->owner->ID);
$txtRemove = sprintf(_t("AdvertisementDecorator.REMOVE", 'Remove all %1$s from this page (%1$s will not be deleted but are not longer associated with this page)'), Config::inst()->get("Advertisement", "plural_name"));
$txtConfirmRemove = sprintf(_t("AdvertisementDecorator.CONFIRMREMOVE", 'Are you sure you want to remove all %1$s from this page?'), Config::inst()->get("Advertisement", "plural_name"));
$removeallLink = 'advertisements/removealladvertisements/' . $this->owner->ID . '/';
$jquery = 'if(confirm(\'' . $txtConfirmRemove . '\')) {jQuery(\'#removealladvertisements\').load(\'' . $removeallLink . '\');} return false;';
$fields->addFieldToTab($tabName, new LiteralField("removealladvertisements", '<p class="message warning"><a href="' . $removeallLink . '" onclick="' . $jquery . '" id="removealladvertisements" class="ss-ui-button">' . $txtRemove . '</a></p>'));
$txtDelete = sprintf(_t("AdvertisementDecorator.DELETE", 'Delete all %1$s from this website (but not the images associated with them)'), Config::inst()->get("Advertisement", "plural_name"));
$txtConfirmDelete = sprintf(_t("AdvertisementDecorator.CONFIRMDELETE", 'Are you sure you want to delete all %1$s - there is no UNDO?'), Config::inst()->get("Advertisement", "plural_name"));
$deleteallLink = 'advertisements/deletealladvertisements/' . $this->owner->ID . '/';
$jquery = 'if(confirm(\'' . $txtConfirmDelete . '\')) {jQuery(\'#deletealladvertisements\').load(\'' . $deleteallLink . '\');} return false;';
$fields->addFieldToTab($tabName, new LiteralField("deletealladvertisements", '<p class="message bad"><a href="' . $deleteallLink . '" onclick="' . $jquery . '" id="deletealladvertisements" class="ss-ui-button">' . $txtDelete . '</a></p>'));
}
return $fields;
}