ideasdigger

ideasdigger

hoho)
+326
Репутация
995
Рейтинг
#1 Убрать редиректы в ссылках 19 июня 2020 в 23:09
Можно добавить домены исключения) при которых редирект будет допустим на главную портала + трафик)
#2 Ник пользователя вместо id 19 июня 2020 в 23:01
Зачем все 117?) если с учётом шаблона возможно)
но можно же проще, представим ситуации что ники уже уникальные, и при заполненности мы реализуем лишь редирект с /users/1 на /users/admin а на /users/admin отдаём профиль /users/1
#3 [ЕСТЬ РЕШЕНИЕ] Помогите настроить виджет в в файле стилей 19 июня 2020 в 22:55

Интересуюсь как изменить или удалить кнопку… Они мне о лыжах.

@Aliaksandr
в файле /template/default/widgets/alertcookie/alertcookie.tpl.php
удалить следующий участок если надо удалить кнопку
  1.  
  2. <div class="button_alertcookie">
  3. <?php echo html_input('button', LANG_CLOSE, LANG_CLOSE, array('class' => 'button',
  4. 'onclick' => 'icms.alertcookie.click('.$day.')')); ?>
  5. </div>
  6.  
если надо заменить текст кнопки
  1.  
  2. <div class="button_alertcookie">
  3. <?php echo html_input('button', 'Согласен', 'Согласен', array('class' => 'button',
  4. 'onclick' => 'icms.alertcookie.click('.$day.')')); ?>
  5. </div>
  6.  
#4 [ЕСТЬ РЕШЕНИЕ] Помогите настроить виджет в в файле стилей 19 июня 2020 в 01:05
скорее всего это изменить
  1.  
  2. .button_alertcookie{
  3. display: none;
  4. }
  5.  
#5 [ЕСТЬ РЕШЕНИЕ] Кто поможет оптимизировать запросы к БД чтобы снизить нагрузку на сервер? 24 января 2020 в 14:19

Где мне посмотреть тип таблицы?
Как мне это проанализировать и выяснить что к чему и как снизить нагрузку?

@AlexProfit
phpmyadmin будет удобно для откладки и для просмотра типа таблиц колонка тип, для понимания логики выборки по трудным запросам используйте ANALYZE, для понимания общей ситуации и поиска запросов которые тормозят выдачу в режиме реал тайм в sql SHOW PROCESSLIST, можно ещё конфиг my.cnf поправить что бы запросы на которые требуется более n-секунд записывались в файл, ну а решив проблемы с не оптимизированными запросами, для поднастройки конфига отлично подойдёт github.com/major/MySQLTuner-perl
#6 [ЕСТЬ РЕШЕНИЕ] Кто поможет оптимизировать запросы к БД чтобы снизить нагрузку на сервер? 24 января 2020 в 13:49

В данный момент на вашем сервере больше всего нагрузки создаётся процессом mysql. В нём висит два очень долгих процесса. В текущей ситуации вам необходимо обратиться к разработчику сайта, так как оптимизация настроек базы данных сильного результата не даёт. Нужно оптимизировать запросы к БД, чтобы они не выполнялись на протяжении такого количества времени.

@AlexProfit

Комменты часто добавляются? тип таблицы MyISAM или InnoDB?, у вас идёт копирование в tmp таблицу при выборке проанализируйте запрос с добавлением ANALYZE до SELECT
#7 Кэширование только для главной страницы сайта 21 января 2020 в 22:56

А всё таки. Может кто подскажет как кешировать только главную но все прочие не кешировать?

GoodMade
если поможет, был таск кэшировать определённые участки не зависимо от текущей системы кэширования, ситуация была решена с подтяжкой либы www.phpfastcache.com/ через composer и написание прослойки для удобной работы)
#8 Отправка формы без перезагрузки страницы 21 января 2020 в 22:52

Чтобы получить значения полей формы так:

@IamB
так я выше в ответе всё рассказал))
1 из вариантов модернизировать ваш
  1. templates/default/controllers/division/index.tpl.php
а именно участок
  1.  
  2. <?php
  3. $this->renderForm($form, $numbers, [
  4. //"action" => "",
  5. //"method" => "post",
  6. "submit" => ["title" => "Рассчитать", "id" => "calc"]
  7. ], $errors);
  8.  
  9. ?>
  10.  
изменить на
  1.  
  2. <?php
  3. $this->renderForm($form, $numbers, [
  4. 'form_id' => "id_form",
  5. //"action" => "",
  6. //"method" => "post",
  7. "submit" => ["title" => "Рассчитать", "id" => "calc"]
  8. ], $errors);
  9.  
  10. ?>
  11.  
и у вашей формы будет id не md5 строка а id_form )
#9 Вывести фильтр только на главной странице типа контента. Возможно? 21 января 2020 в 22:42

Возможно ли как-то запретить вывод фильтра в категориях типа контента?

Def
а так через хук для данного типа контента) из кеша получить активную категорию если она не рут и переопределить $ctype['options']['list_show_filter'])
#10 Отправка формы без перезагрузки страницы 21 января 2020 в 22:32

1. Как в шаблоне получить id формы? Чтобы не ковырять зачения так: var source = $('#source').val();

@IamB
а причём id формы если в примере
  1. $('#source').val();
получения значения поля по id ?
в icms2 id формы динамический
  1. md5(microtime(true))
если не передан атрибут
  1. $attributes['form_id']
а так как вариант получить объект формы при действии для вложенного через
  1. var form = $(this).closest("form");

2. Почему в JS адрес обработчика формы задаётся фактически экшеном url: 'calc' ?

@IamB
наверное потому что action у формы такой? а в ajax url в js перехватчике не определён? или я не понял ситуацию))

3. В моём варианте не работает атрибут required в input, что досадно.

@IamB
возможно ваша js функция вызывается через click а не submit и если же так, то в коде не присутствует цикла проверки полей с учётом required)
#11 [ЕСТЬ РЕШЕНИЕ] Убрать таблицу (обводку) из auth 20 января 2020 в 19:51

в какой файл? theme-gui?

@fLeX
да, можешь вставить в конец или можешь найти там это свойство и заменить
#12 [ЕСТЬ РЕШЕНИЕ] Убрать таблицу (обводку) из auth 20 января 2020 в 19:40
в сss добавить
  1.  
  2. form fieldset {
  3. padding: 0;
  4. border: 0;
  5. margin-bottom: 12px;
  6. }
  7.  
#13 [ЕСТЬ РЕШЕНИЕ] На странице Регистрации изменить вывод Группы 15 ноября 2019 в 23:36

Если указать Группе пользователей "Разрешить вступление при регистрации",
то при Регистрации выбор группы выводиться как select (выпадающий список),
а как его заменить на checkbox ?

@Aleksey24
скорее заменить на checkbox radio (без множественного выбора)

но так такового в системе radio нет, есть select с возможностью включить checkbox но только в множественном варианте, для выбора группы вариант не пойдёт, есть флаг но без передачи массива значений

по этому:
создать файл в \system\fields с именем radio.php со следующим содержимым (это копия list.php с удалёнными данными на глазок):
  1.  
  2. <?php
  3. class fieldRadio extends cmsFormField {
  4.  
  5. public $title = 'Радио список';
  6. public $sql = 'int NULL DEFAULT NULL';
  7. public $filter_type = 'int';
  8. public $filter_hint = LANG_PARSER_LIST_FILTER_HINT;
  9. public $var_type = 'string';
  10. public $native_tag = false;
  11. public $dynamic_list = false;
  12.  
  13. public function getOptions(){
  14. return array();
  15. }
  16.  
  17. public function getFilterInput($value) {
  18.  
  19. $items = $this->getListItems(false);
  20. return html_select($this->name, $items, $value);
  21.  
  22. }
  23.  
  24. public function getRules() {
  25.  
  26. if($this->item){
  27. $this->rules[] = array('array_key', $this->getListItems());
  28. }
  29.  
  30. return $this->rules;
  31.  
  32. }
  33.  
  34. public function getStringValue($value){
  35.  
  36. $items = $this->getListItems();
  37. $item = array();
  38.  
  39. if(!is_array($value)){
  40. $value = array($value);
  41. }
  42.  
  43. foreach ($value as $val) {
  44. if (isset($items[$val])) { $item[] = $items[$val]; }
  45. }
  46.  
  47. return implode(', ', $item);
  48.  
  49. }
  50.  
  51. public function parse($value){
  52.  
  53. $items = $this->getListItems();
  54. $item = '';
  55.  
  56. if (isset($items[$value])) { $item = $items[$value]; }
  57.  
  58. return html($item, false);
  59.  
  60. }
  61.  
  62. public function getListItems($show_empty_value = true){
  63.  
  64. $items = array();
  65.  
  66. if (isset($this->items)){
  67.  
  68. $items = $this->items;
  69.  
  70. } else if (isset($this->generator)) {
  71.  
  72. $generator = $this->generator;
  73. $items = $generator($this->item);
  74.  
  75. } else if ($this->hasDefaultValue()) {
  76.  
  77. $items = ($show_empty_value ? array('' => '') : array()) + $this->parseListItems($this->getDefaultValue());
  78.  
  79. }
  80.  
  81. return $items;
  82.  
  83. }
  84.  
  85. public function getListValuesItems(){
  86.  
  87. $items = array();
  88.  
  89. if (isset($this->value_items)){
  90.  
  91. $items = $this->value_items;
  92.  
  93. } else if (isset($this->values_generator)) {
  94.  
  95. $generator = $this->values_generator;
  96. $items = $generator($this->item);
  97.  
  98. }
  99.  
  100. return $items;
  101.  
  102. }
  103.  
  104. public function parseListItems($string){
  105. return string_explode_list($string);
  106. }
  107.  
  108. public function getDefaultVarType($is_filter=false) {
  109.  
  110. return parent::getDefaultVarType($is_filter);
  111.  
  112. }
  113.  
  114. public function applyFilter($model, $value) {
  115.  
  116. if (!is_array($value)){
  117.  
  118. return $model->filterEqual($this->name, $value);
  119.  
  120. } else {
  121.  
  122. return $model->filterIn($this->name, $value);
  123.  
  124. }
  125.  
  126. }
  127.  
  128. public function getInput($value){
  129.  
  130. if($this->getDefaultVarType() === 'array' && $value && !is_array($value)){
  131. $value = cmsModel::yamlToArray($value);
  132. }
  133.  
  134. $this->data['items'] = $this->getListItems();
  135. $this->data['dom_attr'] = array('id' => $this->id);
  136. $this->data['is_ns_value_items'] = false;
  137.  
  138. if($this->dynamic_list){
  139. $this->data['value_items'] = $this->getListValuesItems();
  140. $first_value_item = reset($this->data['value_items']);
  141. $this->data['is_ns_value_items'] = is_array($first_value_item);
  142. $this->class = 'list_dynamic';
  143. if(!$value){ $value = new stdClass(); }
  144. if(!isset($this->multiple_keys)){ $this->multiple_keys = new stdClass(); }
  145. }
  146.  
  147. return parent::getInput($value);
  148.  
  149. }
  150.  
  151. }
  152.  
в папке \templates\default\assets\fields\ создать файл radio.tpl.php со следующим содержимым
  1.  
  2. <?php if ($field->title) { ?><label for="<?php echo $field->id; ?>"><?php echo $field->title; ?></label><?php } ?>
  3. <?php
  4. foreach ($field->data['items'] as $key => $val) {
  5. $checked = false;
  6. if($key == $value) {$checked = true;}
  7. echo html_radio($field->element_name, $checked, $key, $field->data['dom_attr']).''.$val.'<br>';
  8. }
  9. ?>
  10.  
далее открыть \system\controllers\auth\frontend.php найти участок в коде отмеченный на скриншоте

заменить fieldList на fieldRadio, что бы получилось так


и будет в итоге так
#14 При создании типа контента обрезается УРЛ до .html 13 ноября 2019 в 20:36



А кнопка сабмит стандартная внизу или в виджете меню действий? У меня бывало даже, что поле изображение очищалось при нажатии на кнопку в меню действий. Она же там через js работает. А еще можете смержить ваш файл /system/controllers/content/frontend.php с чистым

islyaeFF

проверил. он оригинальный(

Def
Заголовок не отключён?
#15 [ЕСТЬ РЕШЕНИЕ] Как можно подключить свой класс к хуку? 8 октября 2019 в 11:43


в итоге я пока что так подключил
cmsCore::includeFile( 'system/my.class.php' );

Рачей
github.com/instantsoft/icms2/blob/10f893ab0d6f3d5af22fe7c8389d906d7a11d125/system/core/core.php#L233
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.