Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Vladimir

Страницы: 1 2 [3] 4 5 ... 19
31
У меня часто такое встречалось в старых, времен 2.6-2.7, версиях юми. Причина - менеджер заполнял поле "название" копирую текст из ворда, без фильтрации. В итоге в поле попадали какие-то спецсимволы, визуально видимые как квадратики. На них дерево и сыпалось.

Устранял это прогоняя все страницы проблемно ветки дерева через скрипт, где удалял из названия все, кроме букв.

32
Аа) вот что "Resource interpreted as Script but transferred with MIME type text/html: "http:/site.ru/ulang/ru/common/content/date/content?js;18827"."

Видимо, при вызове каких-то динамически генерируемух яваскриптов вместо тела скрипта возвращается текст ошибки. Что нам и говорят "вернули MIME тип text/html".

Можно предположить, что отключение вывода ошибок, задаваемое в config.ini, действует не на все скрипты. Попробуйте его отключить на уровне PHP.ini, хотя бы для проверки - заработает ли после этого.

33
Смотрим далее. Идет череда предупреждений, что юмисофты не утрудили себя чистым написанием своего же кода и вызывают методы как придется, не вникая в суть. Это всегда было, у вас еще мало ошибок.

Устаревший модификатор е. Это хуже, потому что при следующем обновлении может перестать работать. Но и это не смертельно.

А вот что за повторное объявление константы LINKFEED_USER  мне непонятно. Не в ней ли дело?

А это точно все ошибки? Как-то не видно в них критической точки.

34
Смотрите:"Deprecated:  mysql_connect(): "
В выбранной вами версии PHP нет поддержки работы с MySQL через расширение mysql_*. (точнее, оно есть как устаревшее, но генерирует предупреждение; предупреждение можно бы и игнорировать, все будет работать, но лучше делать правильно)
Рекомендуется использовать PDO, которого до версии  3 в ЮМИ нет.
Поэтому у вас два варианта: Откатиться обратно на 5.3 или заменить в PHP это расширение на mysqlnd как описано в http://dev.mysql.com/downloads/connector/php-mysqlnd/

35
Что-то мне кажется, что в том $this, где вы вызываете редирект, этого метода просто нет.  Попробуйте делать переадресацию классически
Header("Location: /{$user_id}");exit;
Если поможет, ищите где в ЮМИ живет редирект и вызываете как def_module::redirect() или umiHierarchy::getInstance()(->redirect() (не помню где он)

36
Самое простое - написать свой метод-обертку над getPathById и использовать его.

37
Тогда уж лучше удалить только строку
  $sel->where('special_offer')->equals('1');
иначе у вас теперь появляется сообщение о неинициализированной переменной.
А в целом причина в том, что вы или пересоздали или добавили новый тип данных, в котором нет поля с обозначением "special_offer". Добавьте такое, и все должно стать хорошо.

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


38
Буквально сегодня закончил оптимизацию магазина одежды.

А можете подробнее рассказать что делали?

39
Цитировать
А вот бекенд - это вилы. На сохранение карточки заказа уходит от 5 секунд, если товаров в заказе мало. Если их там в районе пары десятков (а бывает и до 40 с лишним), то сохранение карточки заказа может занимать до минуты и больше. А может и вообще ничего не сохранить.

Ошибка про default домен вылезает и в админке в том числе.

Меня это наводит на мысли, что проблема у вас не в ЮМИ, а в сервере. Может быть, поломались индексы в БД. Может, сама БД разрослась. Места свободного на диске достаточно? Может, был сбой и теперь в памяти висят мертвые процессы. 
Логи посмотрите на предмет ошибок; лог медленных запросов MySQL включите  - надо понять что может так тормозить .  Даже для ЮМИ у вас слишком медленно.
Похоже на то, что у вас сервер MySQL не успевает обрабатывать запросы.

Экспериментировать на боевом сервере я бы не рискнул, но ведь можно сделать копию на другом сервере и там развлекаться.

40
Шаблоны TPL / Re:Многоуровневое меню (TPL)
« : 06 Сентября 2014, 16:28:56 »
Как ни смешно, но должно все быть.
У вас в любом случае должно выводиться полное дерево меню, независимо от того, в пункте или подпункте вы находитесь.
Т.о.,  для начала отключите примочку, которая делает меню выпадающим, пусть показывается все по максимуму:  нужно убедиться, что ничего не пропадает при переходе на подпункт.

41
Чтобы отдать код 404 из кастомного макроса, используйте команды:
$template = 'default';
$buffer = outputBuffer::current();
$buffer->status('404 Not Found');

def_module::setHeader('%content_error_404_header%');
list($tpl_block) = def_module::loadTemplates("content/not_found/".$template, 'block');
$template = $tpl_block ? $tpl_block : '%content_usesitemap%';
return def_module::parseTemplate($template, array());

Взято из content::get404
Странно, что если напрямую вызвать cmsController->getInstance()->getModule('content')->get404();  то код ответа будет 200.


42
Лучше всего загодя  связаться отделом маркетинга ЮМИ и попросить изменить лицензионную информацию  на оставшийся домен.  После чего изменить в таблице cms3_domains имя домена с id=1
Приготовьте заранее лицензионный ключ, который вам выдавали при получении лицензии, чтобы заново активировать ЮМИ.

Проблем возникнуть не должно.  По факту, ЮМИ и так будет работать, но иметь чужой домен основным как-то нехорошо.
С др. стороны, домен ведь есть не просит, почему бы просто не оставить все как есть?

43
Установка UMI.CMS / Re:UMI.CMS & nginx & php-fpm
« : 22 Июля 2014, 15:12:26 »
Вопрос снят. Ошибка была у меня с правами на запись в папку сессий.
конфиг ЮМИ полностью рабочий с одним дополнением: если не нужно статическое кеширование (у нас сам nginx будет кешировать), то строчку
try_files /sys-temp/static-cache/test$id$alias.srv23.megaserver.umisoft.ru/$uri/index.html @dynamic;

заменить на
rewrite  ^(.*)$  /index.php?path=$uri&$args&umi_authorization=$http_authorization  last;

44
Установка UMI.CMS / UMI.CMS & nginx & php-fpm
« : 22 Июля 2014, 13:04:05 »
Коллеги, добрый день!

Может кто-нибудь поделиться рабочим конфигом nginx для использования UMI.CMS  в связке nginx + php-fpm?
Пример разработчиков  (http://help.docs.umi-cms.ru/konfiguracionnyj_fajl_nginx/) почти работает, но, видимо, не обновлялся под последние версии. В частности, не вижу в нем никаких упоминаний  ни о "udata|upage|uobject|ufs|usel|ulang|utype|umess|uhttp", ни о "HTTP:Authorization".

В итоге все работает, но не авторизует((


45
Увидеть можно в любом модуле ЮМИ, например, форум имеет вкладки.
Помимо создания метода в классе нужно еще указать юми, что его следует вызывать. Для этого все их следует перечислить в getDatasetConfiguration. Фрагмент из работающего кастомного модуля:


public function getDatasetConfiguration($param = '') {


if ($param == 'authors') {//параметр передается из xslt-шаблона админки
$loadMethod = "authors";//метод, который надо вызвать
$type = 'author';//тип данных
$default = 'family[99px]|name[81px]|email[96px]|is_activated[100px]';//ширина колонок таблицы

//далее описывается формат отображения
//имя модуля и имя вызываемого метода
//возможные действия (у меня -  удалить и сменить активность)
//перечень свойств, которые не нужно отображать в таблице
return array(
'methods' => array(
array('title'=>getLabel('smc-load'), 'forload'=>true, 'module'=>'faq20', '#__name'=>$loadMethod),
array('title'=>getLabel('smc-delete'), 'module'=>'faq20', 'aliases'=>'tree_delete_element,author_del', '#__name'=>'author_del'),
array('title'=>getLabel('smc-activity'),'module'=>'faq20', '#__name'=>'author_activity', 'aliases' => 'tree_set_activity,author_activity')
),
'types' => array(
array('common' => 'true', 'id' => $type)
),
'stoplist' => array('title', 'h1', 'meta_keywords', 'meta_descriptions', 'menu_pic_ua', 'menu_pic_a', 'header_pic', 'more_params', 'robots_deny', 'is_unindexed', 'store_amounts', 'locktime', 'lockuser', 'anons', 'content', 'answer', 'rate_voters', 'rate_sum'),
'default' => $default
);
}
elseif ($param == 'experts') {
$loadMethod = "experts";
$type = 'author';
$default = 'family[99px]|name[81px]|email[96px]|is_activated[100px]';
..... то же, что и выше
}
elseif ($param == 'messages') {
....
}else {
.....
}
}
experts, authors -  это названия методов, отвечающих за вывод данных в конкртеную вкладку.
Плюс к этому в административных xslt-шаблонах нужно создать блок, отвечающий за отображение вкладки с указанием имени метода, например

<xsl:template match="result[@method = 'authors']/data">
<xsl:call-template name="ui-smc-table">
<xsl:with-param name="control-params">authors</xsl:with-param>
<xsl:with-param name="content-type">objects</xsl:with-param>
<xsl:with-param name="enable-objects-activity">1</xsl:with-param>
</xsl:call-template>
</xsl:template>

Страницы: 1 2 [3] 4 5 ... 19