本文整理汇总了PHP中Configuration::isOverridenByCurrentContext方法的典型用法代码示例。如果您正苦于以下问题:PHP Configuration::isOverridenByCurrentContext方法的具体用法?PHP Configuration::isOverridenByCurrentContext怎么用?PHP Configuration::isOverridenByCurrentContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Configuration
的用法示例。
在下文中一共展示了Configuration::isOverridenByCurrentContext方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: displayOptionsList
/**
* Options lists
*/
public function displayOptionsList()
{
$tab = Tab::getTab($this->context->language->id, $this->id);
// Retrocompatibility < 1.5.0
if (!$this->optionsList && $this->_fieldsOptions) {
$this->optionsList = array('options' => array('title' => $this->optionTitle ? $this->optionTitle : $this->l('Options'), 'fields' => $this->_fieldsOptions));
}
if (!$this->optionsList) {
return;
}
echo '<br />';
echo '<script type="text/javascript">
id_language = Number(' . $this->context->language->id . ');
</script>';
$action = Tools::safeOutput(self::$currentIndex . '&submitOptions' . $this->table . '=1&token=' . $this->token);
echo '<form action="' . $action . '" method="post" enctype="multipart/form-data">';
foreach ($this->optionsList as $category => $categoryData) {
$required = false;
$this->displayTopOptionCategory($category, $categoryData);
echo '<fieldset>';
// Options category title
$legend = '<img src="' . (!empty($tab['module']) && file_exists($_SERVER['DOCUMENT_ROOT'] . _MODULE_DIR_ . $tab['module'] . '/' . $tab['class_name'] . '.gif') ? _MODULE_DIR_ . $tab['module'] . '/' : '../img/t/') . $tab['class_name'] . '.gif" /> ';
$legend .= isset($categoryData['title']) ? $categoryData['title'] : $this->l('Options');
echo '<legend>' . $legend . '</legend>';
// Category fields
if (!isset($categoryData['fields'])) {
continue;
}
// Category description
if (isset($categoryData['description']) && $categoryData['description']) {
echo '<p class="optionsDescription">' . $categoryData['description'] . '</p>';
}
foreach ($categoryData['fields'] as $key => $field) {
// Field value
$value = Tools::getValue($key, Configuration::get($key));
if (!Validate::isCleanHtml($value)) {
$value = Configuration::get($key);
}
if (isset($field['defaultValue']) && !$value) {
$value = $field['defaultValue'];
}
// Check if var is invisible (can't edit it in current shop context), or disable (use default value for multishop)
$isDisabled = $isInvisible = false;
if (Shop::isFeatureActive()) {
if (isset($field['visibility']) && $field['visibility'] > Shop::getContext()) {
$isDisabled = true;
$isInvisible = true;
} elseif (Shop::getContext() != Shop::CONTEXT_ALL && !Configuration::isOverridenByCurrentContext($key)) {
$isDisabled = true;
}
}
// Display title
echo '<div style="clear: both; padding-top:15px;" id="conf_id_' . $key . '" ' . ($isInvisible ? 'class="isInvisible"' : '') . '>';
if ($field['title']) {
echo '<label class="conf_title">';
// Is this field required ?
if (isset($field['required']) && $field['required']) {
$required = true;
echo '<sup>*</sup> ';
}
echo $field['title'] . '</label>';
}
echo '<div class="margin-form" style="padding-top:5px;">';
// Display option inputs
$method = 'displayOptionType' . Tools::toCamelCase($field['type'], true);
if (!method_exists($this, $method)) {
$this->displayOptionTypeText($key, $field, $value);
} else {
$this->{$method}($key, $field, $value);
}
// Multishop default value
if (Shop::isFeatureActive() && Shop::getContext() != Shop::CONTEXT_ALL && !$isInvisible) {
echo '<div class="preference_default_multishop">
<label>
<input type="checkbox" name="multishopOverrideOption[' . $key . ']" value="1" ' . ($isDisabled ? 'checked="checked"' : '') . ' onclick="checkMultishopDefaultValue(this, \'' . $key . '\')" /> ' . $this->l('Use default value') . '
</label>
</div>';
}
// Field description
//echo (isset($field['desc']) ? '<p class="preference_description">'.((isset($field['thumb']) AND $field['thumb'] AND $field['thumb']['pos'] == 'after') ? '<img src="'.$field['thumb']['file'].'" alt="'.$field['title'].'" title="'.$field['title'].'" style="float:left;" />' : '' ).$field['desc'].'</p>' : '');
echo isset($field['desc']) ? '<p class="preference_description">' . $field['desc'] . '</p>' : '';
// Is this field invisible in current shop context ?
echo $isInvisible ? '<p class="multishop_warning">' . $this->l('You cannot change the value of this configuration field in this shop context') . '</p>' : '';
echo '</div></div>';
}
echo '<div align="center" style="margin-top: 20px;">';
echo '<input type="submit" value="' . $this->l(' Save ') . '" name="submit' . ucfirst($category) . $this->table . '" class="button" />';
echo '</div>';
if ($required) {
echo '<div class="small"><sup>*</sup> ' . $this->l('Required field') . '</div>';
}
echo '</fieldset><br />';
$this->displayBottomOptionCategory($category, $categoryData);
}
echo '</form>';
}
示例2: isOverridenByCurrentContext
public static function isOverridenByCurrentContext($key)
{
ConfigurationKPI::setKpiDefinition();
$r = parent::isOverridenByCurrentContext($key);
ConfigurationKPI::unsetKpiDefinition();
return $r;
}
示例3: generateOptions
/**
* Generate a form for options
* @param array $option_list
* @return string html
*/
public function generateOptions($option_list)
{
$this->tpl = $this->createTemplate($this->base_tpl);
$tab = Tab::getTab($this->context->language->id, $this->id);
if (!isset($languages)) {
$languages = Language::getLanguages(false);
}
$use_multishop = false;
$hide_multishop_checkbox = Shop::getTotalShops(false, null) < 2 ? true : false;
foreach ($option_list as $category => $category_data) {
if (!is_array($category_data)) {
continue;
}
if (!isset($category_data['image'])) {
$category_data['image'] = (!empty($tab['module']) && file_exists($_SERVER['DOCUMENT_ROOT'] . _MODULE_DIR_ . $tab['module'] . '/' . $tab['class_name'] . '.gif') ? _MODULE_DIR_ . $tab['module'] . '/' : '../img/t/') . $tab['class_name'] . '.gif';
}
if (!isset($category_data['fields'])) {
$category_data['fields'] = array();
}
$category_data['hide_multishop_checkbox'] = true;
if (isset($category_data['tabs'])) {
$tabs[$category] = $category_data['tabs'];
$tabs[$category]['misc'] = $this->l('Miscellaneous');
}
foreach ($category_data['fields'] as $key => $field) {
if (empty($field['no_multishop_checkbox']) && !$hide_multishop_checkbox) {
$category_data['hide_multishop_checkbox'] = false;
}
// Set field value unless explicitly denied
if (!isset($field['auto_value']) || $field['auto_value']) {
$field['value'] = $this->getOptionValue($key, $field);
}
// Check if var is invisible (can't edit it in current shop context), or disable (use default value for multishop)
$is_disabled = $is_invisible = false;
if (Shop::isFeatureActive()) {
if (isset($field['visibility']) && $field['visibility'] > Shop::getContext()) {
$is_disabled = true;
$is_invisible = true;
} elseif (Shop::getContext() != Shop::CONTEXT_ALL && !Configuration::isOverridenByCurrentContext($key)) {
$is_disabled = true;
}
}
$field['is_disabled'] = $is_disabled;
$field['is_invisible'] = $is_invisible;
$field['required'] = isset($field['required']) ? $field['required'] : $this->required;
if ($field['type'] == 'color') {
$this->context->controller->addJqueryPlugin('colorpicker');
}
if ($field['type'] == 'texarea' || $field['type'] == 'textareaLang') {
$this->context->controller->addJqueryPlugin('autosize');
}
if ($field['type'] == 'file') {
$uploader = new HelperUploader();
$uploader->setId(isset($field['id']) ? $field['id'] : null);
$uploader->setName($field['name']);
$uploader->setUrl(isset($field['url']) ? $field['url'] : null);
$uploader->setMultiple(isset($field['multiple']) ? $field['multiple'] : false);
$uploader->setUseAjax(isset($field['ajax']) ? $field['ajax'] : false);
$uploader->setMaxFiles(isset($field['max_files']) ? $field['max_files'] : null);
if (isset($field['files']) && $field['files']) {
$uploader->setFiles($field['files']);
} elseif (isset($field['image']) && $field['image']) {
// Use for retrocompatibility
$uploader->setFiles(array(0 => array('type' => HelperUploader::TYPE_IMAGE, 'image' => isset($field['image']) ? $field['image'] : null, 'size' => isset($field['size']) ? $field['size'] : null, 'delete_url' => isset($field['delete_url']) ? $field['delete_url'] : null)));
}
if (isset($field['file']) && $field['file']) {
// Use for retrocompatibility
$uploader->setFiles(array(0 => array('type' => HelperUploader::TYPE_FILE, 'size' => isset($field['size']) ? $field['size'] : null, 'delete_url' => isset($field['delete_url']) ? $field['delete_url'] : null, 'download_url' => isset($field['file']) ? $field['file'] : null)));
}
if (isset($field['thumb']) && $field['thumb']) {
// Use for retrocompatibility
$uploader->setFiles(array(0 => array('type' => HelperUploader::TYPE_IMAGE, 'image' => isset($field['thumb']) ? '<img src="' . $field['thumb'] . '" alt="' . $field['title'] . '" title="' . $field['title'] . '" />' : null)));
}
$uploader->setTitle(isset($field['title']) ? $field['title'] : null);
$field['file'] = $uploader->render();
}
// Cast options values if specified
if ($field['type'] == 'select' && isset($field['cast'])) {
foreach ($field['list'] as $option_key => $option) {
$field['list'][$option_key][$field['identifier']] = $field['cast']($option[$field['identifier']]);
}
}
// Fill values for all languages for all lang fields
if (substr($field['type'], -4) == 'Lang') {
foreach ($languages as $language) {
if ($field['type'] == 'textLang') {
$value = Tools::getValue($key . '_' . $language['id_lang'], Configuration::get($key, $language['id_lang']));
} elseif ($field['type'] == 'textareaLang') {
$value = Configuration::get($key, $language['id_lang']);
} elseif ($field['type'] == 'selectLang') {
$value = Configuration::get($key, $language['id_lang']);
}
$field['languages'][$language['id_lang']] = $value;
$field['value'][$language['id_lang']] = $this->getOptionValue($key . '_' . strtoupper($language['iso_code']), $field);
}
//.........这里部分代码省略.........