
ideasdigger
но можно же проще, представим ситуации что ники уже уникальные, и при заполненности мы реализуем лишь редирект с /users/1 на /users/admin а на /users/admin отдаём профиль /users/1
в файле /template/default/widgets/alertcookie/alertcookie.tpl.phpИнтересуюсь как изменить или удалить кнопку… Они мне о лыжах.
удалить следующий участок если надо удалить кнопку
<div class="button_alertcookie"> 'onclick' => 'icms.alertcookie.click('.$day.')')); ?> </div>
<div class="button_alertcookie"> 'onclick' => 'icms.alertcookie.click('.$day.')')); ?> </div>
.button_alertcookie{ display: none; }
phpmyadmin будет удобно для откладки и для просмотра типа таблиц колонка тип, для понимания логики выборки по трудным запросам используйте ANALYZE, для понимания общей ситуации и поиска запросов которые тормозят выдачу в режиме реал тайм в sql SHOW PROCESSLIST, можно ещё конфиг my.cnf поправить что бы запросы на которые требуется более n-секунд записывались в файл, ну а решив проблемы с не оптимизированными запросами, для поднастройки конфига отлично подойдёт github.com/major/MySQLTuner-perlГде мне посмотреть тип таблицы?
Как мне это проанализировать и выяснить что к чему и как снизить нагрузку?
В данный момент на вашем сервере больше всего нагрузки создаётся процессом mysql. В нём висит два очень долгих процесса. В текущей ситуации вам необходимо обратиться к разработчику сайта, так как оптимизация настроек базы данных сильного результата не даёт. Нужно оптимизировать запросы к БД, чтобы они не выполнялись на протяжении такого количества времени.
Комменты часто добавляются? тип таблицы MyISAM или InnoDB?, у вас идёт копирование в tmp таблицу при выборке проанализируйте запрос с добавлением ANALYZE до SELECT
если поможет, был таск кэшировать определённые участки не зависимо от текущей системы кэширования, ситуация была решена с подтяжкой либы www.phpfastcache.com/ через composer и написание прослойки для удобной работы)А всё таки. Может кто подскажет как кешировать только главную но все прочие не кешировать?
так я выше в ответе всё рассказал))Чтобы получить значения полей формы так:
1 из вариантов модернизировать ваш
templates/default/controllers/division/index.tpl.php
<?php $this->renderForm($form, $numbers, [ //"action" => "", //"method" => "post", "submit" => ["title" => "Рассчитать", "id" => "calc"] ], $errors); ?>
<?php $this->renderForm($form, $numbers, [ 'form_id' => "id_form", //"action" => "", //"method" => "post", "submit" => ["title" => "Рассчитать", "id" => "calc"] ], $errors); ?>
а так через хук для данного типа контента) из кеша получить активную категорию если она не рут и переопределить $ctype['options']['list_show_filter'])Возможно ли как-то запретить вывод фильтра в категориях типа контента?
а причём id формы если в примере1. Как в шаблоне получить id формы? Чтобы не ковырять зачения так: var source = $('#source').val();
$('#source').val();
в icms2 id формы динамический
если не передан атрибут
$attributes['form_id']
var form = $(this).closest("form");
наверное потому что action у формы такой? а в ajax url в js перехватчике не определён? или я не понял ситуацию))2. Почему в JS адрес обработчика формы задаётся фактически экшеном url: 'calc' ?
возможно ваша js функция вызывается через click а не submit и если же так, то в коде не присутствует цикла проверки полей с учётом required)3. В моём варианте не работает атрибут required в input, что досадно.
да, можешь вставить в конец или можешь найти там это свойство и заменитьв какой файл? theme-gui?
form fieldset { padding: 0; border: 0; margin-bottom: 12px; }
скорее заменить на checkbox radio (без множественного выбора)Если указать Группе пользователей "Разрешить вступление при регистрации",
то при Регистрации выбор группы выводиться как select (выпадающий список),
а как его заменить на checkbox ?
но так такового в системе radio нет, есть select с возможностью включить checkbox но только в множественном варианте, для выбора группы вариант не пойдёт, есть флаг но без передачи массива значений
по этому:
создать файл в \system\fields с именем radio.php со следующим содержимым (это копия list.php с удалёнными данными на глазок):
<?php class fieldRadio extends cmsFormField { public $title = 'Радио список'; public $sql = 'int NULL DEFAULT NULL'; public $filter_type = 'int'; public $filter_hint = LANG_PARSER_LIST_FILTER_HINT; public $var_type = 'string'; public $native_tag = false; public $dynamic_list = false; public function getOptions(){ } public function getFilterInput($value) { $items = $this->getListItems(false); return html_select($this->name, $items, $value); } public function getRules() { if($this->item){ } return $this->rules; } public function getStringValue($value){ $items = $this->getListItems(); } foreach ($value as $val) { } } public function parse($value){ $items = $this->getListItems(); $item = ''; return html($item, false); } public function getListItems($show_empty_value = true){ $items = $this->items; $generator = $this->generator; $items = $generator($this->item); } else if ($this->hasDefaultValue()) { } return $items; } public function getListValuesItems(){ $items = $this->value_items; $generator = $this->values_generator; $items = $generator($this->item); } return $items; } public function parseListItems($string){ return string_explode_list($string); } public function getDefaultVarType($is_filter=false) { return parent::getDefaultVarType($is_filter); } public function applyFilter($model, $value) { return $model->filterEqual($this->name, $value); } else { return $model->filterIn($this->name, $value); } } public function getInput($value){ $value = cmsModel::yamlToArray($value); } $this->data['items'] = $this->getListItems(); $this->data['is_ns_value_items'] = false; if($this->dynamic_list){ $this->data['value_items'] = $this->getListValuesItems(); $this->class = 'list_dynamic'; if(!$value){ $value = new stdClass(); } } return parent::getInput($value); } }
<?php if ($field->title) { ?><label for="<?php echo $field->id; ?>"><?php echo $field->title; ?></label><?php } ?> <?php foreach ($field->data['items'] as $key => $val) { $checked = false; if($key == $value) {$checked = true;} echo html_radio($field->element_name, $checked, $key, $field->data['dom_attr']).''.$val.'<br>'; } ?>
заменить fieldList на fieldRadio, что бы получилось так
и будет в итоге так
Заголовок не отключён?
А кнопка сабмит стандартная внизу или в виджете меню действий? У меня бывало даже, что поле изображение очищалось при нажатии на кнопку в меню действий. Она же там через js работает. А еще можете смержить ваш файл /system/controllers/content/frontend.php с чистым
проверил. он оригинальный(
github.com/instantsoft/icms2/blob/10f893ab0d6f3d5af22fe7c8389d906d7a11d125/system/core/core.php#L233
в итоге я пока что так подключил
cmsCore::includeFile( 'system/my.class.php' );