Александр

Александр

С нами с 31 июля 2014; Место в рейтинге пользователей: #215
Александр
25 сентября 2015, 20:57
0
Он не первый, их несколько. И все сбрасывались.
Удалил файл core/model/modx/processors/element/propertyset/updatefromelement.class.php, как тут описано.
Александр
25 сентября 2015, 20:55
0
Вот спасибо! :) По заголовку бы не понял, что там именно эта проблема описывается )
Неприятный баг конечно…
Александр
25 сентября 2015, 20:39
0
Пока что указываю все параметры при вызове сниппета, но это ведь не есть удобно
Александр
07 сентября 2015, 18:37
0
Насколько помню, я поменял редактор
Александр
29 июля 2015, 11:30
0
Хотя может я изобрел велосипед, кто знает?
Не знаю насчет велосипеда, но мне бы пригодилось )
Александр
20 июля 2015, 13:49
0
Спасибо. Решил задачу пока через javascript )

Недавно заметил одну проблему, при редактировании уже созданного ресурса в поле Описание текст подгружается вместе со всеми html-тегами, и при пересохранении эти теги никуда не исчезают… Это только у меня так? Или где-то недоглядел?



Код вот такой:
<div class="form-group popover-help" id="formGroupContent">
    <h3>Описание</h3>
    <input id="content" name="content" type="hidden" value="[[+content]]"/>
    [[$tpl.ms2form.editor.[[+editor]]?content=`[[+content]]`]]
  </div>
Александр
20 июля 2015, 07:45
0
Антон, а есть возможность убирать созданный ресурс в черновики, как в тикетах? Что-то не могу найти.
Или совсем удалять ресурс.
Александр
15 июля 2015, 21:02
0
Подскажите, можно как-то вывести список документов, созданных определенным пользователем?
Александр
14 июля 2015, 14:42
0
Изначально так и делал, реакции также никакой.
Да и, на сколько я понимаю, этот вариант чистит кеш всей админки. Это плохо, т.к. если много пользователей одновременно будут создавать страницы — сайт подохнет.

Я в тикетсах копался, но так и не понял, как там это работает. А там работает именно так, как надо.
Александр
14 июля 2015, 06:34
0
В логах тоже ничего не пишет.
Александр
27 июня 2015, 15:16
0
теперь совсем ничего не понял :)

Где этот контроллер найти можно?
Александр
26 июня 2015, 23:08
0
Пользуюсь компонентом ms2form. Не догоняю, куда прописать нужно

$modx->cacheManager->refresh();

Код сниппета:

<?php
/* @var array $scriptProperties */
/* @var ms2form $ms2form */

if (!$modx->user->isAuthenticated()) {
  return $modx->lexicon('ms2form_err_no_auth');
}

$ms2form = $modx->getService('ms2form', 'ms2form', $modx->getOption('ms2form_core_path', null, $modx->getOption('core_path') . 'components/ms2form/') . 'model/ms2form/', $scriptProperties);
$config = $ms2form->initialize($modx->context->key);

$data = $config;

if (empty($templates)) {
  $templates = 0;
}
if (empty($source)) {
  $source = $modx->getOption('ms2_product_source_default');
}
$ms2_product_thumbnail_size = $modx->getOption('ms2_product_thumbnail_size', $scriptProperties, $modx->getOption('ms2_product_thumbnail_size'));

if (empty($parent)) {
  $data['parent'] = '0';
} else {
  $data['parent'] = $parent;
}
$pid = !empty($_REQUEST['pid']) ? (integer)$_REQUEST['pid'] : 0;

// Update of msProduct
if (!empty($pid)) {
  $tplWrapper = $tplUpdate;
  /* @var msProduct $product */
  if ($product = $modx->getObject('msProduct', array('id' => $pid))) {
    if ($product->get('createdby') != $modx->user->id && !$modx->hasPermission('edit_document')) {
      return $modx->lexicon('ms2form_err_wrong_user');
    }
    $productData = $product->toArray();
    $charset = $modx->getOption('modx_charset');
    $allowedFields = array_map('trim', explode(',', $scriptProperties['allowedFields']));
    $allowedFields = array_unique(array_merge($allowedFields, array('parent', 'pagetitle', 'content')));

    $fields = $product->getAllFieldsNames();
    foreach ($allowedFields as $field) {
      if (in_array($field, $fields)) {
        $value = $productData[$field];
      } else {
        $tvId = (int)trim($field, 'tv');
        $value = $product->getTVValue($tvId);
      }
      if (is_string($value)) {
        $value = html_entity_decode($value, ENT_QUOTES, $charset);
        $value = str_replace(array('[^', '^]', '[', ']'), array('[^', '^]', '{{{{{', '}}}}}'), $value);
        $value = htmlentities($value, ENT_QUOTES, $charset);
      }
      $data[$field] = $value;
    }
    $data['id'] = $product->id;
    $data['published'] = $product->published;
    $data['alias'] = $product->alias;
    $data['context_key'] = $product->context_key;
    $data['tags'] = $scriptProperties['tags'];
    $data['template'] = $scriptProperties['template'];
  } else {
    return $modx->lexicon('ms2form_err_id', array('id' => $pid));
  }
} else {
  $tplWrapper = $tplCreate;
}
// todo-me Get available sections for msProduct create


// Get templates list
if(!$data['template']){
  $templates = explode(',', $data['templates']);
  if (count($templates) > 1) {
    foreach ($templates as $template) {
      $selected = '';
      if ($template = explode('==', $template)) {
        if (!empty($pid)) {
          if ($product->template == $template[0]) {
            $selected = 'selected';
          }
        }
        $data['templates'] .= "<option $selected value=\"$template[0]\">$template[1]</option>";
      } else {
        if (!empty($pid)) {
          if ($product->template == $template) {
            $selected = 'selected';
          }
        }
        $data['templates'] .= "<option $selected value=\"$template\">$template</option>";
      }
    }
  } else {
    if (!empty($pid)) {
      $data['template'] = $product->template;
    } else {
      $data['template'] = $templates[0];
    }
  }
}

// Get files list
if (!empty($allowFiles)) {
  /** @var modMediaSource $source */
  if ($source = $modx->getObject('sources.modMediaSource', $source)) {
    $sourceProperties = $source->getPropertyList();
  }
  $q = $modx->newQuery('msProductFile');
  if (empty($pid)) {
    $q->where(array(
      'product_id' => 0
      ,'parent' => 0
      ,'createdby' => $modx->user->id
    ));
  }else{
    $q->where(array(
      'product_id' => $pid
    , 'parent' => 0
    , 'createdby' => $modx->user->id
    ));
  }
  $q->sortby('createdon', 'ASC');
  $collection = $modx->getIterator('msProductFile', $q);
  $files = '';
  /** @var msProductFile $item */
  foreach ($collection as $item) {
      $item = $item->toArray();
      $item['size'] = round($item['size'] / 1024, 2);
      $item['thumb'] = '/'.$sourceProperties['baseUrl'].$item['path']. $ms2_product_thumbnail_size.'/'. $item['file'];
      $tpl = $item['type'] == 'image'
        ? $tplImage
        : $tplFile;
      $files .= $ms2form->getChunk($tpl, $item);
  }
  $data['files'] = $ms2form->getChunk($tplFiles, array(
    'files' => $files,
  ));
}

//output
$output = $ms2form->getChunk($tplWrapper, $data);

return $output;

Пробовал воткнуть перед return $output; — ничего не изменилось, но в логи записал ошибку "(ERROR @ /connectors/modx.config.js.php) Error caching action map mgr/actions"
Александр
26 июня 2015, 22:04
0
Вадим, как решили проблему? Если да, то как?
Актуальная проблема на данный момент…
Александр
26 июня 2015, 21:44
0
В настройках системы отключал параметры cache_system_settings, cache_scripts и включал cache_disabled — без толку (
Александр
13 мая 2015, 15:51
0
Добрый день! Помогите разобраться, не записываются данные в tv-поля. https://modx.pro/help/5493/#comment-39775
Александр
12 мая 2015, 18:25
0
Дополнение, действительно, лучше подходит. Не знал про ms2form.

Единственное только, не могу понять, почему не сохраняется информация в tv-поля. Даже то поле, которое по умолчанию стоит в форме tv1. В разрешенных полях оно прописано, сам tv тоже существует и доступен к шаблону объявления. Но при создании товара, то бишь объявления, сохраняется всё кроме этого tv1.

В чем может быть причина?
Александр
10 мая 2015, 18:46
0
Спасибо! Попробую прикрутить
Александр
10 мая 2015, 17:54
0
А в каком скрипте описывается перенос файла в директорию, соответствующую ID тикета? Не могу найти метод TicketFile::save()
Александр
09 мая 2015, 09:20
0
Может ли быть причиной то, что у меня структура разделов сайта следующая: Главная -> Категория (обычная страница) -> Раздел (Раздел с тикетами) -> Объявление (Тикет)?