https://wiki.umisoft.ru/api.php?action=feedcontributions&user=83.243.76.254&feedformat=atomUmicms - Вклад участника [ru]2024-03-28T09:30:29ZВклад участникаMediaWiki 1.31.0https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&diff=512Вывод строки поиска2009-09-17T13:04:17Z<p>83.243.76.254: Новая страница: «== Инструкция == В '''<body>''' нашего первого обработчика (''<xsl:template match="/">'') по протоколу udata бе…»</p>
<hr />
<div>== Инструкция ==<br />
<br />
В '''<body>''' нашего первого обработчика (''<xsl:template match="/">'') по протоколу [[udata]] берем результат работы макроса поиска<br />
''<xsl:apply-templates select="document('udata://search/search_do')/udata" mode="searchform"/>''<br />
<br />
Далее в шаблоне дизайна прописываем еще два шаблона:<br />
Первый получает данные работы макроса search insert_form() и выводит их списком:<br />
<source lang="xml"><br />
<xsl:template match="udata[@module = 'search' and @method = 'search_do']" mode="searchform"><br />
<xsl:apply-templates select="document('udata://search/insert_form')/udata"/><br />
<ul><br />
<xsl:apply-templates select="items/item"/><br />
</ul><br />
</xsl:template><br />
</source><br />
<br />
Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос:<br />
<source lang="xml"><br />
<xsl:template match="udata[@module = 'search' and @method = 'insert_form']"><br />
<form method="get" action="/search/search_do/"><br />
<input type="text" name="search_string"><br />
<xsl:attribute name="value"><br />
<xsl:value-of select="last_search_string"/><br />
</xsl:attribute><br />
</input><br />
<input type="submit" value="Поиск"/><br />
</form><br />
</xsl:template><br />
</source><br />
<br />
== Ссылки ==<br />
<br />
* [http://nav.linuxhosting.spb.ru/xsltTpls/test.xsl Пример XSLT шаблона]</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0_%D0%BC%D0%B5%D0%BD%D1%8E&diff=509Вывод отдельного подраздела меню2009-09-17T13:02:27Z<p>83.243.76.254: Новая страница: «== Инструкция == <source lang="xml"> <xsl:template match="udata[@method = 'menu']"> <ul> <xsl:apply-templates select=".//[@id=id_конретного_р…»</p>
<hr />
<div>== Инструкция ==<br />
<source lang="xml"><br />
<xsl:template match="udata[@method = 'menu']"><br />
<ul><br />
<xsl:apply-templates select=".//[@id=id_конретного_раздела]" mode="menu"/><br />
</ul><br />
</xsl:template> <br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%B8&diff=503Версия для печати2009-09-17T12:49:18Z<p>83.243.76.254: Новая страница: «Как сделать версию для печати, которая бы выводила контент в нужном шаблоне? 1)Попробуйте …»</p>
<hr />
<div>Как сделать версию для печати, которая бы выводила контент в нужном шаблоне?<br />
<br />
1)Попробуйте добавить следующий код в ~/classes/modules/custom.php сразу после строки //TODO: Write here your own macroses<br />
<source lang="php"><br />
public function page_for_print($uri_page) {<br />
<br />
$chars = explode("/", $uri_page);<br />
array_splice($chars, -1);<br />
$chars = array_reverse($chars);<br />
$uri_page_back = "/".$chars[0]."/";<br />
<br />
return $uri_page_back; <br />
}<br />
</source><br />
<br />
Регистрировать его нигде не нужно.<br />
<br />
<br />
2)Создайте шаблон дизайна '''''~/tpls/content/print.tpl''''' в котором пропишите макрос<br />
<br />
<source lang="text"><br />
%content insert(%custom page_for_print('%system referer_uri()%')%)% <br />
</source><br />
<br />
Именно он и будет выводить контент, который будет печататься.<br />
<br />
Для отправки страницы на принтер можно добавить кнопку:<br />
<source lang="php"><br />
<input type="button" value="Печать" onClick="javascript:print(document);"><br />
</source><br />
3. В настройках модуля "Структура" пропишите новый шаблон дизайна и создайте в структуре страницу с этим шаблоном (Назовем ее, например, "Печать").<br />
<br />
4. В шаблоне дизайна, применяющегося для вывода страниц пропишите ссылку:<br />
<source lang="text"><br />
<a href="%content get_page_url(ХХХХХ)%">ПЕЧАТЬ</a><br />
</source><br />
, где ХХХХХ - идентификатор страницы "Печать"<br />
<br />
Внимание: Работает только для страниц с контеном набранным в админ.панели. Не работает для первой страницы, новостей! Ищем решение вместе!<br />
<br />
В случае, если нужно печатать с сайта статьи, но без оформления самого сайта.<br />
Делаем следующее:<br />
<br />
<head><br />
<style media="print"><br />
.noprint {display:none;}<br />
</style><br />
<style media="screen"><br />
.noscreen {display:none;}<br />
</style><br />
</head><br />
<br />
Выставляем class="noprint" для родительского элемента сайта. Что бы скрыть всё. После чего перед эти родительским элементом пишем.<br />
<br />
<nowiki><div class="noscreen"></nowiki>Здесь можно вывести лого сайта<nowiki></div></nowiki><br />
<nowiki><div class="noscreen"></nowiki>%content%<nowiki></div></nowiki><br />
<nowiki><div class="noscreen"></nowiki>Здесь можно вывести копирайт сайта<nowiki></div><br />
</nowiki><br />
В итоге получаем на печать только лого сайта, статью и копирайт. Всё что мы написали перед родительским элементом - не отобразится на самом сайте.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D1%84%D0%BB%D0%B5%D1%88-%D0%B1%D0%B0%D0%BD%D0%BD%D0%B5%D1%80%D0%B0_%D0%B2_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%BA%D0%B5_%D0%B8_%D1%83%D1%87%D0%B5%D1%82_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BF%D0%BE_%D0%BD%D0%B5%D0%B9&diff=501Задание ссылки для флеш-баннера в админке и учет статистики переходов по ней2009-09-17T12:43:14Z<p>83.243.76.254: Новая страница: «Для того, чтобы иметь возможность считать статистику по флеш-баннерам, необходимо прописа…»</p>
<hr />
<div>Для того, чтобы иметь возможность считать статистику по флеш-баннерам, необходимо прописать динамическую ссылку в flash-файле.<br />
Обычно для перехода на другую страницу в баннерах используется следующая конструкция:<br />
<br />
<source lang="actionscript"><br />
function onRelease() {<br />
getURL("http://www.google.com/");<br />
}<br />
</source><br />
<br />
URL страницы для перехода необходимо заменить на "link":<br />
<br />
<source lang="actionscript"><br />
function onRelease() {<br />
getURL(link, target);<br />
}<br />
</source><br />
<br />
Теперь URL страницы будет автоматически подставляться в баннер (из настроек баннера, указанных в админке). Это позволит системе учитывать переход с flash-баннера.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80:_%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0&diff=494Визуальный редактор: Пользовательская настройка2009-09-17T12:14:52Z<p>83.243.76.254: Новая страница: «В версии 2.6 у внедренца появилась возможность "тонкой" настройки визуального редактора, на…»</p>
<hr />
<div>В версии 2.6 у внедренца появилась возможность "тонкой" настройки визуального редактора, например, подключить свой css - файл, настроить классы для типовых элементов, изменить настройки по "чистке" избыточного кода и многое другое. Подробное описание всех параметров для настройки визивига можно прочитать [http://wiki.moxiecode.com/index.php/TinyMCE:Configuration здесь]. <br />
<br />
<br />
== Конфигурационный файл ==<br />
Для настройки визивига появился кастомный конфигурационный файл. Этот файл не будет перезаписан при обновлении.<br />
<br />
Путь к файлу:<br />
'''/tinymce/jscripts/tiny_mce/tinymce_custom.js'''<br />
<br />
Файл содержит код javascript-объекта window.mceCustomSettings, в начальной поставке файл выглядит примерно так:<br />
<source lang="javascript"><br />
// index/reference page for all available core configuration options in TinyMCE:<br />
// http://wiki.moxiecode.com/index.php/TinyMCE:Configuration<br />
<br />
window.mceCustomSettings = {<br />
convert_fonts_to_spans : true, // convert <font ..> tags to <span style="color:red,..."><br />
cleanup : true, // remove all unknown tags and attributes<br />
<br />
extended_valid_elements : "script[type=text/javascript|src|languge|lang],map[*],area[*],umi:*[*],input[*]", // extended tags and atributes<br />
content_css : "/css/cms/style.css", // enable custom CSS<br />
theme_advanced_styles : "Table=my-table;Table Cell=my-table-cell;Table Row=my-table-row" // custom css classes<br />
}<br />
</source><br />
<br />
'''Обратите внимание:''' при модификации объекта следите за тем, чтобы после последней опции (перед }) не было запятой. В противном случае редактор перестанет работать в IE</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=UmiDump:_Export&diff=490UmiDump: Export2009-09-17T11:56:57Z<p>83.243.76.254: </p>
<hr />
<div>Экспорт данных из umi-cms. Для того чтобы импортировать данные читайте тут [[UmiDump: Import]]<br />
==Экспорт umiDump==<br />
Проблема экспорта больших каталогов решается благодаря использованию standalone скрипта<br />
<br />
В этом примере показано, как <br />
*подключить ядро umi-cms<br />
*указать домен из которого необходимо осуществить экспорт<br />
*указать языковую версию сайта, из которой будут экспортироваться данные<br />
<br />
==Код==<br />
Подключение umi-cms<br />
<br />
<source lang="php"><br />
<?php<br />
//Переменная позволяет отключить переиндексацию свойств <br />
//объекта происходящую после каждого $object->commit();<br />
define("CRON", "CLI");<br />
error_reporting(E_ALL ^ E_NOTICE);<br />
<br />
// UMI.CMS licensing<br />
<br />
$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));<br />
chdir($_SERVER['DOCUMENT_ROOT'].'/');<br />
ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/');<br />
<br />
//Домен в который необходимо осуществить импорт<br />
$_SERVER['HTTP_HOST'] = "blogs.umi-cms.ru";<br />
//Языковая версия сайта в которую будет осуществлен импорт<br />
$_REQUEST['path'] = "/en/admin/";<br />
//подключение ядра umi-cms<br />
include "./config.php";<br />
//Подключение классов используемых исключительно во время импорта данных<br />
include "./classes/umiImportRelations/iUmiImportRelations.php";<br />
include "./classes/umiImportRelations/umiImportRelations.php";<br />
<br />
?><br />
</source><br />
<br />
Сначала требуется сформировать список элеменов, которые нужно экспортировать в файл.<br />
Например, следующий код выбирает из текущего домена и текущей языковой версии сайта<br />
все элементы с иерархическим типом "объект каталога".<br />
<br />
<source lang="php"><br />
<?php <br />
$hierarchy_type_id = <br />
umiHierarchyTypesCollection::getInstance()->getTypeByName("catalog", "object")->getId();<br />
$sel = new umiSelection();<br />
<br />
$sel->setHierarchyFilter();<br />
$sel->addHierarchyFilter($elements, $hierarchy_type_id);<br />
<br />
$result = umiSelectionsParser::runSelection($sel);<br />
?><br />
</source><br />
<br />
Итак после подключения классов ядра umi-cms требуется выполнить код осуществляющий экспорт данных в файл.<br />
Экспортированы будут элементы полученные нами в переменную $result. Данные импортируются в файл umiDumpFile.xml<br />
<source lang="php"><br />
<?php <br />
$exporter = new umiXmlExporter();<br />
$exporter->setElements($result);<br />
$exporter->run();<br />
file_put_contents("umiDumpFile.xml",$exporter->getResultFile());<br />
?><br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=UmiDump:_Import&diff=489UmiDump: Import2009-09-17T11:56:28Z<p>83.243.76.254: </p>
<hr />
<div>Импорт данных в umi-cms. Для того чтобы научиться экспортировать данные читем тут [[UmiDump: Export]]<br />
==Импорт umiDump==<br />
Проблема импортирования больших каталогов решается благодаря использованию standalone скрипта<br />
<br />
В этом примере показано, как <br />
*подключить ядро umi-cms<br />
*указать домен в который необходимо осуществить импорт<br />
*указать языковую версию сайта, в которую будут импортироваться данные<br />
<br />
==Код==<br />
Подключение umi-cms<br />
<br />
<source lang="php"><br />
<?php<br />
//Переменная позволяет отключить переиндексацию свойств <br />
//объекта происходящую после каждого $element->commit();<br />
define("CRON", "CLI");<br />
error_reporting(E_ALL ^ E_NOTICE);<br />
<br />
// UMI.CMS licensing<br />
<br />
$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));<br />
chdir($_SERVER['DOCUMENT_ROOT'].'/');<br />
ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/');<br />
<br />
//Домен в который необходимо осуществить импорт<br />
$_SERVER['HTTP_HOST'] = "blogs.umi-cms.ru";<br />
//Языковая версия сайта в которую будет осуществлен импорт<br />
$_REQUEST['path'] = "/en/admin/";<br />
//подключение ядра umi-cms<br />
include "./config.php";<br />
//Подключение классов используемых исключительно во время импорта данных<br />
include "./classes/umiImportRelations/iUmiImportRelations.php";<br />
include "./classes/umiImportRelations/umiImportRelations.php";<br />
<br />
?><br />
</source><br />
<br />
Итак после подключения требуется выполнить код осуществляющий импорт файла.<br />
<source lang="php"><br />
<?php <br />
//Создаем XML Импортер<br />
$xmlImporter = new umiXmlImporter();<br />
//Загружаем файл содержащий в себе структуру страниц.<br />
$xmlImporter->loadXmlFile("umiDumpFile.xml");<br />
<br />
//осуществляем преобразования<br />
$xmlImporter->analyzeXml();<br />
<br />
//Осуществляем импорт данных в систему<br />
$xmlImporter->importXml();<br />
<br />
?><br />
</source><br />
<br />
==Таблицы в базе данных UMI.CMS==<br />
В umi.cms реализован механизм поддерания связи между старыми и новыми объектами. Сохраняется связь на уровне уникальных идентификаторов из старой системы и их связь с новой системой.<br />
<br />
===cms3_import_sources===<br />
Таблица хранит в себе идентификаторы источников импорта указанные в заголовке файла umiDump<br />
===cms3_import_types===<br />
Таблица служит для хранения связи между идентификатором типа объекта из старой системы и новым типом<br />
===cms3_import_fields===<br />
В таблице содержатся исходные идентификаторы полей объекта и связь с полями в импортированном типе данных.<br />
Изменять идентификаторы полей в Шаблонах данных можно, т.к. связь на уровне "ID".<br />
===cms3_import_relations===<br />
Таблица отношений между старыми и новыми id импортируемых объектов.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=UmiDump:_Import&diff=488UmiDump: Import2009-09-17T11:56:00Z<p>83.243.76.254: Новая страница: «Импорт данных в umi-cms. Для того чтобы научиться экспортировать данные читем тут UmiDump:Export ==…»</p>
<hr />
<div>Импорт данных в umi-cms. Для того чтобы научиться экспортировать данные читем тут [[UmiDump:Export]]<br />
==Импорт umiDump==<br />
Проблема импортирования больших каталогов решается благодаря использованию standalone скрипта<br />
<br />
В этом примере показано, как <br />
*подключить ядро umi-cms<br />
*указать домен в который необходимо осуществить импорт<br />
*указать языковую версию сайта, в которую будут импортироваться данные<br />
<br />
==Код==<br />
Подключение umi-cms<br />
<br />
<source lang="php"><br />
<?php<br />
//Переменная позволяет отключить переиндексацию свойств <br />
//объекта происходящую после каждого $element->commit();<br />
define("CRON", "CLI");<br />
error_reporting(E_ALL ^ E_NOTICE);<br />
<br />
// UMI.CMS licensing<br />
<br />
$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));<br />
chdir($_SERVER['DOCUMENT_ROOT'].'/');<br />
ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/');<br />
<br />
//Домен в который необходимо осуществить импорт<br />
$_SERVER['HTTP_HOST'] = "blogs.umi-cms.ru";<br />
//Языковая версия сайта в которую будет осуществлен импорт<br />
$_REQUEST['path'] = "/en/admin/";<br />
//подключение ядра umi-cms<br />
include "./config.php";<br />
//Подключение классов используемых исключительно во время импорта данных<br />
include "./classes/umiImportRelations/iUmiImportRelations.php";<br />
include "./classes/umiImportRelations/umiImportRelations.php";<br />
<br />
?><br />
</source><br />
<br />
Итак после подключения требуется выполнить код осуществляющий импорт файла.<br />
<source lang="php"><br />
<?php <br />
//Создаем XML Импортер<br />
$xmlImporter = new umiXmlImporter();<br />
//Загружаем файл содержащий в себе структуру страниц.<br />
$xmlImporter->loadXmlFile("umiDumpFile.xml");<br />
<br />
//осуществляем преобразования<br />
$xmlImporter->analyzeXml();<br />
<br />
//Осуществляем импорт данных в систему<br />
$xmlImporter->importXml();<br />
<br />
?><br />
</source><br />
<br />
==Таблицы в базе данных UMI.CMS==<br />
В umi.cms реализован механизм поддерания связи между старыми и новыми объектами. Сохраняется связь на уровне уникальных идентификаторов из старой системы и их связь с новой системой.<br />
<br />
===cms3_import_sources===<br />
Таблица хранит в себе идентификаторы источников импорта указанные в заголовке файла umiDump<br />
===cms3_import_types===<br />
Таблица служит для хранения связи между идентификатором типа объекта из старой системы и новым типом<br />
===cms3_import_fields===<br />
В таблице содержатся исходные идентификаторы полей объекта и связь с полями в импортированном типе данных.<br />
Изменять идентификаторы полей в Шаблонах данных можно, т.к. связь на уровне "ID".<br />
===cms3_import_relations===<br />
Таблица отношений между старыми и новыми id импортируемых объектов.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=UmiDump:_Export&diff=487UmiDump: Export2009-09-17T11:46:49Z<p>83.243.76.254: Новая страница: «Экспорт данных из umi-cms. Для того чтобы импортировать данные читайте тут Import ==Экспорт umiDum…»</p>
<hr />
<div>Экспорт данных из umi-cms. Для того чтобы импортировать данные читайте тут [[Import]]<br />
==Экспорт umiDump==<br />
Проблема экспорта больших каталогов решается благодаря использованию standalone скрипта<br />
<br />
В этом примере показано, как <br />
*подключить ядро umi-cms<br />
*указать домен из которого необходимо осуществить экспорт<br />
*указать языковую версию сайта, из которой будут экспортироваться данные<br />
<br />
==Код==<br />
Подключение umi-cms<br />
<br />
<source lang="php"><br />
<?php<br />
//Переменная позволяет отключить переиндексацию свойств <br />
//объекта происходящую после каждого $object->commit();<br />
define("CRON", "CLI");<br />
error_reporting(E_ALL ^ E_NOTICE);<br />
<br />
// UMI.CMS licensing<br />
<br />
$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));<br />
chdir($_SERVER['DOCUMENT_ROOT'].'/');<br />
ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/');<br />
<br />
//Домен в который необходимо осуществить импорт<br />
$_SERVER['HTTP_HOST'] = "blogs.umi-cms.ru";<br />
//Языковая версия сайта в которую будет осуществлен импорт<br />
$_REQUEST['path'] = "/en/admin/";<br />
//подключение ядра umi-cms<br />
include "./config.php";<br />
//Подключение классов используемых исключительно во время импорта данных<br />
include "./classes/umiImportRelations/iUmiImportRelations.php";<br />
include "./classes/umiImportRelations/umiImportRelations.php";<br />
<br />
?><br />
</source><br />
<br />
Сначала требуется сформировать список элеменов, которые нужно экспортировать в файл.<br />
Например, следующий код выбирает из текущего домена и текущей языковой версии сайта<br />
все элементы с иерархическим типом "объект каталога".<br />
<br />
<source lang="php"><br />
<?php <br />
$hierarchy_type_id = <br />
umiHierarchyTypesCollection::getInstance()->getTypeByName("catalog", "object")->getId();<br />
$sel = new umiSelection();<br />
<br />
$sel->setHierarchyFilter();<br />
$sel->addHierarchyFilter($elements, $hierarchy_type_id);<br />
<br />
$result = umiSelectionsParser::runSelection($sel);<br />
?><br />
</source><br />
<br />
Итак после подключения классов ядра umi-cms требуется выполнить код осуществляющий экспорт данных в файл.<br />
Экспортированы будут элементы полученные нами в переменную $result. Данные импортируются в файл umiDumpFile.xml<br />
<source lang="php"><br />
<?php <br />
$exporter = new umiXmlExporter();<br />
$exporter->setElements($result);<br />
$exporter->run();<br />
file_put_contents("umiDumpFile.xml",$exporter->getResultFile());<br />
?><br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=SQL_BIG_SELECTS&diff=475SQL BIG SELECTS2009-09-17T09:13:03Z<p>83.243.76.254: </p>
<hr />
<div>=Проблема=<br />
<br />
Исключение следующего вида: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay<br />
<br />
<pre><br />
<br />
Неперехваченное исключение<br />
<br />
Ошибка: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay. <br />
Sql query: SELECT STRAIGHT_JOIN SQL_CALC_FOUND_ROWS SQL_CACHE DISTINCT h.id FROM cms3_hierarchy h, cms3_objects o , cms3_object_content c1, cms3_object_content c2, cms3_object_content c3, cms3_object_content c4, cms3_object_content c5, cms3_object_content c6 ,cms3_permissions c3p <br />
WHERE h.obj_id = o.id AND h.is_deleted = '0' AND ((c1.obj_id = o.id AND c1.field_id = '9042' AND c1.float_val <br />
BETWEEN '0' AND '150000') AND (c2.obj_id = o.id AND c2.field_id = '9044' AND c2.float_val <br />
BETWEEN '0' AND '400') AND (c3.obj_id = o.id AND c3.field_id = '9028' AND (c3.int_val IN ('1'))) AND (c4.obj_id = o.id AND c4.field_id = '9030' AND (c4.int_val IN ('1'))) AND (c5.obj_id = o.id AND c5.field_id = '9033' AND (c5.int_val IN ('1'))) <br />
AND (c6.obj_id = o.id AND c6.field_id = '9035' AND (c6.int_val IN ('1')))) AND h.rel IN ('23045') AND h.is_active = '1' <br />
AND h.type_id IN ('6') AND ((c3p.owner_id = '2374' AND c3p.rel_id = h.id AND level >= 1) OR (c3p.owner_id = '2373' <br />
AND c3p.rel_id = h.id AND level >= 1) OR (c3p.owner_id = '2373' AND c3p.rel_id = h.id AND level >= 1)) <br />
ORDER BY h.ord LIMIT 0, 10<br />
</pre><br />
<br />
=Решение=<br />
Требуется сделать то, что просят необходимо в файл mysql.php добавть следующую строку<br />
<source lang="php"><br />
<?php<br />
error_reporting(~E_ALL);<br />
<br />
/* UMI.CMS mySQL - connection to database */<br />
mysql_connect('rv.mysql', 'rv_mysql', 'rcijhzvy') or die(mysql_fatal());<br />
mysql_select_db('rv_vestiyug') or die(mysql_fatal());<br />
<br />
mysql_query("SET NAMES utf8_general_ci");<br />
mysql_query("SET CHARSET utf8");<br />
<br />
mysql_query("SET CHARACTER SET utf8");<br />
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");<br />
<br />
// именно эта стока решает проблему<br />
mysql_query("SET SQL_BIG_SELECTS=1");<br />
?><br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=SQL_BIG_SELECTS&diff=474SQL BIG SELECTS2009-09-17T09:12:35Z<p>83.243.76.254: Новая страница: «=Проблема= Исключение следующего вида: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_S…»</p>
<hr />
<div>=Проблема=<br />
<br />
Исключение следующего вида: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay<br />
<br />
<source lang="text"><br />
<br />
Неперехваченное исключение<br />
<br />
Ошибка: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay. <br />
Sql query: SELECT STRAIGHT_JOIN SQL_CALC_FOUND_ROWS SQL_CACHE DISTINCT h.id FROM cms3_hierarchy h, cms3_objects o , cms3_object_content c1, cms3_object_content c2, cms3_object_content c3, cms3_object_content c4, cms3_object_content c5, cms3_object_content c6 ,cms3_permissions c3p <br />
WHERE h.obj_id = o.id AND h.is_deleted = '0' AND ((c1.obj_id = o.id AND c1.field_id = '9042' AND c1.float_val <br />
BETWEEN '0' AND '150000') AND (c2.obj_id = o.id AND c2.field_id = '9044' AND c2.float_val <br />
BETWEEN '0' AND '400') AND (c3.obj_id = o.id AND c3.field_id = '9028' AND (c3.int_val IN ('1'))) AND (c4.obj_id = o.id AND c4.field_id = '9030' AND (c4.int_val IN ('1'))) AND (c5.obj_id = o.id AND c5.field_id = '9033' AND (c5.int_val IN ('1'))) <br />
AND (c6.obj_id = o.id AND c6.field_id = '9035' AND (c6.int_val IN ('1')))) AND h.rel IN ('23045') AND h.is_active = '1' <br />
AND h.type_id IN ('6') AND ((c3p.owner_id = '2374' AND c3p.rel_id = h.id AND level >= 1) OR (c3p.owner_id = '2373' <br />
AND c3p.rel_id = h.id AND level >= 1) OR (c3p.owner_id = '2373' AND c3p.rel_id = h.id AND level >= 1)) <br />
ORDER BY h.ord LIMIT 0, 10<br />
</source><br />
<br />
=Решение=<br />
Требуется сделать то, что просят необходимо в файл mysql.php добавть следующую строку<br />
<source lang="php"><br />
<?php<br />
error_reporting(~E_ALL);<br />
<br />
/* UMI.CMS mySQL - connection to database */<br />
mysql_connect('rv.mysql', 'rv_mysql', 'rcijhzvy') or die(mysql_fatal());<br />
mysql_select_db('rv_vestiyug') or die(mysql_fatal());<br />
<br />
mysql_query("SET NAMES utf8_general_ci");<br />
mysql_query("SET CHARSET utf8");<br />
<br />
mysql_query("SET CHARACTER SET utf8");<br />
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");<br />
<br />
// именно эта стока решает проблему<br />
mysql_query("SET SQL_BIG_SELECTS=1");<br />
?><br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9_php&diff=459Использование функций php2009-09-17T08:02:28Z<p>83.243.76.254: Новая страница: «Вызов функций php производится с использованием '''php:function()''', в качестве параметров которой …»</p>
<hr />
<div>Вызов функций php производится с использованием '''php:function()''', в качестве параметров которой передаются имя функции и ее параметры. Например для вызова функции date мог использоваться следующий код:<br />
<source lang="xml"><br />
<xsl:value-of select="php:function('date', 'j.F.Y',string($timestamp)" /><br />
</source> <br />
Особо стоит отметить, что при передачи ноды в качестве параметра, ее нужно явно конвертировать в строку, как это сделано в примере(используя функцию '''string()''').</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_Last_Modified&diff=457Как выводить Last Modified2009-09-17T07:55:41Z<p>83.243.76.254: Новая страница: «Как выводить Last-Modified? Попробуйте добавить следующий код в ~/classes/modules/custom.php сразу после стр…»</p>
<hr />
<div>Как выводить Last-Modified?<br />
<br />
Попробуйте добавить следующий код в ~/classes/modules/custom.php сразу после строки <br />
<br />
<source lang="php"><br />
//TODO: Write your own macroses here<br />
</source><br />
<br />
<source lang="php"><br />
public function lastMDF() {<br />
$header = '<meta http-equiv="Last-Modified" content="'.gmdate("D, d M Y H:i:s").' GMT" />';<br />
return $header; <br />
}<br />
</source><br />
<br />
<br />
Регистрировать его нигде не нужно.<br />
<br />
Пример использования:<br />
<br />
Вставляете следующий макрос в шаблоне .tpl в тэге <head><br />
<br />
<source lang="text"><br />
%custom lastMDF()%<br />
</source><br />
<br />
Дата будет выводится текущая. Если хотите, можете поправить на любую другую.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=454Заглавная страница2009-09-17T07:54:22Z<p>83.243.76.254: </p>
<hr />
<div><strong>Всем</strong><br />
*[[Решения проблем и ошибок]]<br><br />
*[[Общие вопросы работы UMI.CMS]]<br><br />
*[[Вопросы установки настройки и переноса]]<br><br />
*[[Глоссарий]]<br><br />
<br />
<strong>Разработчикам сайтов на UMI.CMS</strong><br />
*[[Описание модулей и макросов]]<br><br />
*[[Шаблонизаторы]]<br />
*[[Вопросы и уроки разработки сайтов на UMI.CMS]]<br><br />
<br />
<strong>Разработчикам модулей и макросов</strong><br />
*[[API]]<br><br />
*[[Архитектура UMI.CMS]]<br><br />
*[[Написание кастомных макросов]]<br></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=446Заглавная страница2009-09-17T07:39:52Z<p>83.243.76.254: </p>
<hr />
<div><strong>Всем</strong><br />
*[[Решения проблем и ошибок]]<br><br />
*[[Общие вопросы работы UMI.CMS]]<br><br />
*[[Вопросы установки настройки и переноса]]<br><br />
*[[Глоссарий]]<br><br />
<br />
<strong>Разработчикам сайтов на UMI.CMS</strong><br />
*[[Описание модулей и макросов]]<br><br />
*[[Шаблонизаторы]]<br />
*[[Вопросы и уроки разработки сайтов на UMI.CMS]]<br><br />
<br />
<strong>Разработчикам модулей и макросов</strong><br />
*[[API]]<br><br />
*[[Архитектура UMI.CMS]]<br></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_Google_Maps_%D0%B2_%D0%BF%D0%BE%D0%BB%D0%B5&diff=445Вставка кода Google Maps в поле2009-09-16T13:14:54Z<p>83.243.76.254: Новая страница: «=== Вопрос === Каким образом вставить код карты гугла? === Ответ === Для этого надо отменить уда…»</p>
<hr />
<div>=== Вопрос ===<br />
Каким образом вставить код карты гугла?<br />
<br />
=== Ответ ===<br />
Для этого надо отменить удаление неизвестных визуальному редактору тегов и атрибутов.<br />
<br />
Путь к файлу пользовательских настроек редактора (этот файл не меняется при обновлении системы): '''/tinymce/jscripts/tiny_mce/tinymce_custom.js'''<br />
<br />
Параметр: '''cleanup'''<br />
<br />
Значение: '''false'''<br />
<br />
Пример:<br />
<source lang="javascript"><br />
window.mceCustomSettings = {<br />
convert_fonts_to_spans : false,<br />
cleanup : false,<br />
<br />
extended_valid_elements : "script[type=text/javascript|src|languge|lang],map[*],area[*],umi:*[*],input[*]",<br />
content_css : "/css/cms/style.css",<br />
theme_advanced_styles : "Table=my-table;Table Cell=my-table-cell;Table Row=my-table-row" <br />
}<br />
</source><br />
<br />
Или добавить разрешение соответствующих конструкций в параметр '''extended_valid_elements'''</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=Google_sitemap&diff=444Google sitemap2009-09-16T12:22:33Z<p>83.243.76.254: Новая страница: «== В UMI.CMS реализован протокол Google sitemap == Использование файлов Sitemap инструкция для веб-маст…»</p>
<hr />
<div>== В UMI.CMS реализован протокол Google sitemap ==<br />
<br />
Использование файлов Sitemap инструкция для веб-мастеров http://www.google.com/support/webmasters/bin/topic.py?topic=8476<br/><br />
Подробнее о протоколе https://www.google.com/webmasters/tools/docs/ru/protocol.html#sitemapXMLExample<br />
<br />
Поддержка протокола может быть добавлена в UMI.CMS начиная с версии 2.5.3 <br />
Протокол sitemap реализован на основе протокола [[umaps]]<br />
<br />
Необходимо отредактировать единственный для версии 2.5.3 файл '''./umaps/sitemap.xml''' (совпадает с названием протокола по чистой случайности).<br />
<br />
<br />
Протокол umap имеет более высокий приоритет чем шаблонизатор. <br />
Это значит, что если в структуре сайта есть страница с именем '''google-sitemap''', то она будет проигнорирована, т.к. в первую очередь обрабатываются правила протокола '''umap''' <br />
сгенерируется xml в результате вызова '''udata://content/sitemap/'''<br />
она будет обработана в соответствии с правилами файла '''./xsltTpls/google-sitemap.xsl''' и результат будет отдан системой с заголовком xml в сответствии с инструкцией '''serialize type="xml"'''<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<sitemap><br />
<match pattern="^google-sitemap$"><br />
<param name="cache" value="10" /><br />
<generate src="udata://content/sitemap/" /><br />
<transform src="./xsltTpls/google-sitemap.xsl"><br />
<param name="domain" value="{_http_host}" /><br />
</transform><br />
<serialize type="xml" /><br />
</match><br />
</sitemap><br />
</source><br />
<br />
Это правило использует файл находящийся в папке относительно корня сайта '''./xsltTpls/google-sitemap.xsl'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<br />
<xsl:stylesheet version="1.0"<br />
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:php="http://php.net/xsl"<br />
xsl:extension-element-prefixes="php"<br />
exclude-result-prefixes="php"><br />
<br />
<xsl:output encoding="utf-8" method="xml" indent="yes"/><br />
<xsl:param name="domain" /><br />
<br />
<br />
<xsl:template match="/"><br />
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84<br />
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd"><br />
<xsl:apply-templates select="//items"/><br />
</urlset><br />
</xsl:template><br />
<br />
<br />
<xsl:template match="items"><br />
<xsl:apply-templates select="item"/> <br />
</xsl:template><br />
<br />
<br />
<xsl:template match="item"><br />
<url><br />
<loc><br />
<xsl:value-of select="concat('http://', $domain, @link)" /><br />
</loc><br />
</url><br />
</xsl:template><br />
<br />
</xsl:stylesheet><br />
</source><br />
<br />
<br />
Чтобы добавить поддержку Google sitemap в уже установленную UMI.CMS необходимо скопировать<br />
3 файла в корень сайта из папки http://www.umi-cms.ru/files/googlesitemap.zip<br />
<br />
проверка работоспособности <br />
http://yourdomain.com/google-sitemap<br />
<br />
XSD схема стандарта Google sitemap лежит в папке '''./xsl/sitemap.xsd'''</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=Fatal_error:_Incompatible_file_format&diff=440Fatal error: Incompatible file format2009-09-16T12:05:33Z<p>83.243.76.254: </p>
<hr />
<div>В ранних версиях UMI.CMS используемым с префиксом OLD файл index.php закодирован (Zend Optimizer)<br />
<br />
=== Признаки UMI.CMS OLD: ===<br />
<br />
# Отсутствие скина бабочка<br />
# зазендованный index.php <br />
# MySql.php отсутствует <br />
<br />
<br />
; Существует троян:<br />
*Троян, запустившийся на клиентской машине ищет все ftp соединения в незашифрованном виде. Зайдя на сервер ищет все индексные файлы и дописывает в них определенный код. В случае старой UMI.CMS с зазендованнованным index.php этого сайт перестает загружаться, отдавая ошибку примерно такого вида:<br />
<br />
Fatal error: Incompatible file format: The encoded file<br />
has format major ID 45, whereas the Optimizer expects 2 in<br />
/home/public_html/index.php on line 0<br />
<br />
или<br />
<br />
Fatal error: Incompatible file format: The encoded file has format major ID 8940937, whereas the Optimizer expects 2 in /home/public_html/index.php on line 0<br />
<br />
=== Решение: ===<br />
<br />
зайти по ftp на сервер, и заменить старый index.php на <br />
index.php взятый отсюда:<br />
<br />
\\umi-server\UMI.CMS\Дистрибутивы\++Old\index.php<br />
<br />
Внимание - решение срабатывает не всегда - index.php подходит приблизительно в 80% случаев, если не подходит - стоит поискать бэкап.<br />
Также стоит обратить внимание на редакцию системы - это вполне может быть не Old, а какая-то из Encoded версий. В этом случае index.php лучше взять отсюда:<br />
<br />
<br />
\\umi-server\UMI.CMS\Дистрибутивы\Скриптики\index_enc\index.php</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=Fatal_error:_Incompatible_file_format&diff=439Fatal error: Incompatible file format2009-09-16T12:05:02Z<p>83.243.76.254: Новая страница: «В ранних версиях UMI.CMS используемым с префиксом OLD файл index.php закодирован (Zend Optimizer) === Призн…»</p>
<hr />
<div>В ранних версиях UMI.CMS используемым с префиксом OLD файл index.php закодирован (Zend Optimizer)<br />
<br />
=== Признаки UMI.CMS OLD: ===<br />
<br />
# Отсутствие скина бабочка<br />
# зазендованный index.php <br />
# MySql.php отсутствует <br />
<br />
<br />
; Существует троян:<br />
*Троян, запустившийся на клиентской машине ищет все ftp соединения в незашифрованном виде. Зайдя на сервер ищет все индексные файлы и дописывает в них определенный код. В случае старой UMI.CMS с зазендованнованным index.php этого сайт перестает загружаться, отдавая ошибку примерно такого вида:<br />
<br />
Fatal error: Incompatible file format: The encoded file<br />
has format major ID 45, whereas the Optimizer expects 2 in<br />
/home/public_html/index.php on line 0<br />
<br />
или<br />
<br />
Fatal error: Incompatible file format: The encoded file has format major ID 8940937, whereas the Optimizer expects 2 in /home/public_html/index.php on line 0<br />
<br />
=== Решение: ===<br />
<br />
зайти по ftp на сервер, и заменить старый index.php на <br />
index.php взятый отсюда:<br />
<pre><br />
\\umi-server\UMI.CMS\Дистрибутивы\++Old\index.php</pre><br />
<br />
Внимание - решение срабатывает не всегда - index.php подходит приблизительно в 80% случаев, если не подходит - стоит поискать бэкап.<br />
Также стоит обратить внимание на редакцию системы - это вполне может быть не Old, а какая-то из Encoded версий. В этом случае index.php лучше взять отсюда:<br />
<br />
<pre><br />
\\umi-server\UMI.CMS\Дистрибутивы\Скриптики\index_enc\index.php</pre></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=MySQL_%D1%80%D1%83%D0%B3%D0%B0%D0%B5%D1%82%D1%81%D1%8F_%D1%87%D1%82%D0%BE_%D0%BA%D0%B0%D0%BA%D0%B0%D1%8F-%D0%BB%D0%B8%D0%B1%D0%BE_%D0%B8%D0%B7_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86_is_full&diff=433MySQL ругается что какая-либо из таблиц is full2009-09-16T11:45:38Z<p>83.243.76.254: Новая страница: «При использовании типа таблиц InnoDB данные хранятся в ibdata. На этот файл в my.cnf имеется директ…»</p>
<hr />
<div>При использовании типа таблиц InnoDB данные хранятся в ibdata.<br />
На этот файл в my.cnf имеется директива:<br />
<br />
'''innodb_data_file_path = ibdata1:10M:autoextend:max:1280M'''<br />
<br />
когда ibdata достигает своего max размера (~128M), то сайт при<br />
добавление информации ругается на то, что дескать cms3_* full и вываливает кучу ошибок.<br />
Задача решается просто, увеличить max: размер файла.<br />
<br />
Либо можно убрать это ограничение:<br />
<br />
'''innodb_data_file_path = ibdata1:10M:autoextend:max:autoextend'''</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_Cron.php_%D0%B8_%D0%B4%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BE%D0%BD_%D0%BD%D1%83%D0%B6%D0%B5%D0%BD&diff=397Что такое Cron.php и для чего он нужен2009-09-03T15:58:00Z<p>83.243.76.254: Новая страница: «Список функций выполняемых скриптом cron.php: runGarbageCollector - сборщик мусора(в частности устаре…»</p>
<hr />
<div>Список функций выполняемых скриптом cron.php:<br />
<br />
<br />
runGarbageCollector - сборщик мусора(в частности устаревшие файлы файлового кэша и мусор в БД);<br />
<br />
cronSendNotification - проверка необходимости послать уведомление об окончании срока публикации, и, соответственно, посылка таковых;<br />
<br />
cronUnpublishPage - проверка окончании срока публикации, и, соответственно, вывод в неактивность таких объектов;<br />
<br />
chronopay_validateAllTransactions - обращение к Хронопэю с целью запроса статусов всех транзакций за последние сутки;<br />
<br />
loadExchangeRates - запрос курсов валют;<br />
<br />
feedsImportListener - импорт RSS.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_mysql:_%22Cannot_delete_or_update_a_parent_row:_a_foreign_key_constraint_fails%22.&diff=395Ошибка mysql: "Cannot delete or update a parent row: a foreign key constraint fails".2009-09-03T15:55:19Z<p>83.243.76.254: Новая страница: «Ошибка mysql: "Cannot delete or update a parent row: a foreign key constraint fails". Добавьте в дамп две строчки: SET AUTOCOMMI…»</p>
<hr />
<div>Ошибка [[mysql]]: "Cannot delete or update a parent row: a foreign key constraint fails".<br />
<br />
<br />
Добавьте в дамп две строчки:<br />
<br />
SET AUTOCOMMIT=0;<br />
SET FOREIGN_KEY_CHECKS=0;<br />
<br />
[[Category:FAQ]]<br />
[[Category:Ошибки]]<br />
[[Category:Настройка]]</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8_%D0%B2_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8_FAQ_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA,_%D0%B3%D0%B4%D0%B5_%D0%BA%D0%B0%D0%B6%D0%B4%D1%8B%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_%D0%B8%D0%BC%D0%B5%D0%B5%D1%82:_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81,_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B0_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%B0,_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F_%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8_%D0%B8_%D0%BE%D1%82%D0%B2%D0%B5%D1%82%3F&diff=385Как вывести в категории FAQ список, где каждый объект имеет: вопрос, автора вопроса, время отправки и ответ?2009-09-03T13:45:23Z<p>83.243.76.254: Новая страница: «Как вывести в категории FAQ список, где каждый объект имеет: вопрос, автора вопроса, время от…»</p>
<hr />
<div>Как вывести в категории FAQ список, где каждый объект имеет: вопрос, автора вопроса, время отправки и ответ?<br />
<br />
1) Заходим в админке в разделе "Шаблоны данных" в редактирования типа Раздел сайта/Вопрос в FAQ. Создаем какую-нибудь группу полей (обязательно указываем, что она видимая), в ней создаем видимое наследуемое (установить эти галочки) поле с названием publish_time, идентификатором publish_time и типом "дата".<br />
<br />
2) Теперь создаем шаблон tpls/data/show_date.tpl для показа даты и времени вопроса.вот содержание шаблона:<br />
<br />
<?php<br />
<br />
$FORMS = Array(); <br />
$FORMS['date'] = <<<END <br />
% value% <br />
END; <br />
?><br />
<br />
3)В шаблоне tpls/faq/default.tpl изменяем блок questions_block_line вот таким образом:<br />
<br />
$FORMS['questions_block_line'] = <<<END <br />
<div style="background-color: #EEEEEE; padding: 5px;"> <br />
<b>Вопрос:</b> % question% <br />
<br /> <br />
Автор: % users viewAuthor(% author_id%)%<br /> <br />
Время: % data getProperty(% id%,'publish_time','show_date')% <br />
</div> <br />
<div style="background-color: white; padding: 5px;"> <br />
<b>Ответ:</b> % answer% <br />
</div> <br />
<br />
END;</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B8_%D0%BD%D0%B0_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%B4%D0%BB%D1%8F_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0&diff=384Ссылки на вопросы для быстрого перехода2009-09-03T13:44:40Z<p>83.243.76.254: Новая страница: «Как можно вывести список вопросов над списком "вопрос-ответ" с ссылками на якоря? Для нача…»</p>
<hr />
<div>Как можно вывести список вопросов над списком "вопрос-ответ" с ссылками на якоря?<br />
<br />
Для начала в шаблоне ~tpls/faq/default.tpl (внимание, инструкция написана для дефолтных шаблонов демо-версии) подредактируем блоки ['questions_block'] и ['questions_block_line']:<br />
<br />
$FORMS['questions_block'] = <<<END<br />
% faq category('test')%<br />
% lines%<br />
% system numpages(% total%, % per_page%, 'standart')% <br/><br/><br />
<h3>Задайте свой вопрос</h3><br />
% faq addQuestionForm()%<br />
END;<br />
<br />
<br />
<br />
Мы добавили макрос % faq category('test')%, который по шаблону ~tpls/faq/test.tpl будет выводить список вопросов.<br />
<br />
$FORMS['questions_block_line'] = <<<END<br />
<div style="background-color: #EEEEEE; padding: 5px;"><br />
<b>Вопрос:</b> <a name="% id%" title="% id%"></a>% question%<br />
</div><br />
<div style="background-color: white; padding: 5px;"><br />
<b>Ответ:</b> % answer%<br />
</div><br />
<br /><br /><br />
END;<br />
<br />
<br />
<br />
А здесь мы к макросу % question% добавили якоря:<br />
<br />
<a name="% id%" title="% id%"></a><br />
<br />
<br />
<br />
Теперь создаем шаблон ~tpls/faq/test.tpl, о котором шла речь выше:<br />
<br />
<?php <br />
$FORMS = Array(); <br />
$FORMS['question'] = <<<END<br />
% question%<br />
END; <br />
$FORMS['questions_block'] = <<<END<br />
<ul>% lines%</ul><br />
END; <br />
$FORMS['questions_block_empty'] = <<<END <br />
END; <br />
$FORMS['questions_block_line'] = <<<END<br />
<li><a href="#% id%">% question%</a></li><br />
END; <br />
?><br />
<br />
<br />
<br />
Тут все просто - формируем список вопросов и добавляем ссылку на якоря.<br />
<br />
P.S. Поведение данной схемы не совсем изучено. Могут возникнуть небольшие конфликты при использовании % system numpages()%</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B2_%D0%B1%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&diff=381Вывести список авторов блогов2009-09-03T13:41:18Z<p>83.243.76.254: </p>
<hr />
<div>Как вывести список авторов блогов (Блоги 2.0)?<br />
1. Создадим шаблон authors.tpl в папке tpls/blogs20/ следующего содержания:<br />
<pre><br />
<?php<br />
$FORMS = Array();<br />
<br />
$FORMS['blogs_list_block'] = <<<END<br />
<div id="blog" class="block"><br />
<h2>Авторы</h2><br />
% lines% <br />
</div><br />
END;<br />
<br />
$FORMS['blogs_list_line'] = <<<END<br />
<div class="item"><br />
<a href="% content get_page_url(% bid%)%">% blogs20 viewBlogAuthors(% bid%, authors)%</a><br />
</div><br />
END;<br />
<br />
$FORMS['blog_author_list_block'] = <<<END<br />
% lines%<br />
END;<br />
<br />
$FORMS['blog_author_list_line'] = <<<END<br />
<b>% name% (% login%)</b><br />
END;<br />
<br />
?><br />
</pre><br />
<br />
<br />
2. В месте, где хотим выводить список авторов, поместим макрос: % blogs20 blogsList(,0,0,'authors')%. Первый параметр не заполнен специально, чтобы не создавать ограничение на количество выводимых авторов.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B2_%D0%B1%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&diff=380Вывести список авторов блогов2009-09-03T13:40:55Z<p>83.243.76.254: Новая страница: «Как вывести список авторов блогов (Блоги 2.0)? 1. Создадим шаблон authors.tpl в папке tpls/blogs20/ следу…»</p>
<hr />
<div>Как вывести список авторов блогов (Блоги 2.0)?<br />
1. Создадим шаблон authors.tpl в папке tpls/blogs20/ следующего содержания:<br />
<br />
<?php<br />
$FORMS = Array();<br />
<br />
$FORMS['blogs_list_block'] = <<<END<br />
<div id="blog" class="block"><br />
<h2>Авторы</h2><br />
% lines% <br />
</div><br />
END;<br />
<br />
$FORMS['blogs_list_line'] = <<<END<br />
<div class="item"><br />
<a href="% content get_page_url(% bid%)%">% blogs20 viewBlogAuthors(% bid%, authors)%</a><br />
</div><br />
END;<br />
<br />
$FORMS['blog_author_list_block'] = <<<END<br />
% lines%<br />
END;<br />
<br />
$FORMS['blog_author_list_line'] = <<<END<br />
<b>% name% (% login%)</b><br />
END;<br />
<br />
?><br />
<br />
<br />
<br />
2. В месте, где хотим выводить список авторов, поместим макрос: % blogs20 blogsList(,0,0,'authors')%. Первый параметр не заполнен специально, чтобы не создавать ограничение на количество выводимых авторов.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0,_%D0%B2%D1%81%D0%BF%D0%BB%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B0%D1%8F_%D0%BF%D0%BE_%D0%BA%D0%BB%D0%B8%D0%BA%D1%83&diff=373Картинка, всплывающая по клику2009-09-03T12:34:29Z<p>83.243.76.254: Новая страница: «Как мне сделать всплывающую картинку по клику? Для вывода маленькой картинки, клик по кот…»</p>
<hr />
<div>Как мне сделать всплывающую картинку по клику?<br />
<br />
Для вывода маленькой картинки, клик по которой вызывает картинку в полный размер в новом окне воспользуемся макросом % data getProperty(% id%, ' photo', 'popup')%<br />
<br />
В шаблоне data/popup.tpl напишем следующий блок:<br />
<br />
<?php<br />
$FORMS = Array();<br />
$FORMS['img_file'] = <<<END<br />
<a href="javascript:void(0);" onclick="var sWinParams = 'width='+(% width %+40)+', height='+(% height %+60)+', toolbar=0, statusbar=0,menubar=0, scrollbars=1, resizable=1,<br />
<br />
location=0'; window.open('%src%', '_blank' , sWinParams);return false;"><br />
% system makeThumbnail(% filepath%, 120, 'auto', 'popup')%<br />
</a><br />
END;<br />
?><br />
<br />
<br />
<br />
В шаблоне /tpls/thumbs/popup.tpl<br />
<br />
<?php<br />
$FORMS = Array();<br />
$FORMS['image'] = <<<END<br />
<img src="% src%" width="% width%" height="% height%" border="0" style="border: 1px solid #FF3333;"/><br />
END;<br />
?></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B9_%D0%B2_%D1%84%D0%BE%D1%82%D0%BE%D0%B0%D0%BB%D1%8C%D0%B1%D0%BE%D0%BC%D0%B5&diff=369Вывод количества фотографий в фотоальбоме2009-09-03T12:31:12Z<p>83.243.76.254: Новая страница: «Как можно вывести количество фотографий, содержащихся в фотоальбоме? Для фотоальбома сра…»</p>
<hr />
<div>Как можно вывести количество фотографий, содержащихся в фотоальбоме?<br />
<br />
Для фотоальбома сработает следующая конструкция:<br />
<br />
% photoalbum album(% id%, 'total')%<br />
<br />
а в ~/tpls/photoalbum/total.tpl написать что-то вроде:<br />
<br />
$FORMS['album_block'] = "(% total% фотографий)";</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D0%BF%D0%BE%D1%81%D0%B5%D1%82%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC_%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B5_%D1%81%D0%B0%D0%B9%D1%82%D0%B0&diff=360Закачка файла посетителем на странице сайта2009-09-03T11:40:24Z<p>83.243.76.254: Новая страница: «Как можно реализовать возможность закачивать пользователям файлы на сервер с фронтенда? …»</p>
<hr />
<div>Как можно реализовать возможность закачивать пользователям файлы на сервер с фронтенда?<br />
<br />
Для этого создаем шаблон ~/tpls/filemanager/upload.tpl c содержимым:<br />
<br />
<?php<br />
<br />
$FORMS['shared_file'] = <<<END<br />
Имя файла: % file_name% <br /><br />
Размер файла: % file_size% Kb<br /><br /><br />
Если закачивание файла не начнется через 10 сек, <br />
кликните <a href="% download_link%">по этой ссылке</a><br />
<script languge="text/javascript"><br />
window.setTimeout('document.location.href="% download_link%";', 10000);<br />
</script><br />
<br />
END;<br />
<br />
$FORMS['upload_file'] = <<<END<br />
<form method="post" enctype="multipart/form-data" action=""><br />
<input type="file" name="shared_files[upload]" /> <input type="submit" value="Закачать" /><br />
</form><br />
END;<br />
<br />
$FORMS['broken_file'] = <<<END<br />
Файл не существует.<br />
% upload_file%<br />
END;<br />
<br />
?><br />
<br />
<br />
<br />
Теперь вызовем этот шаблон, без указания файла для загрузки, например так:<br />
<br />
% filemanager shared_file('upload')%<br />
<br />
Осталось выставить права доступа для Гостя на использование Файловой системы.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA_%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&diff=358Список рассылок текущего пользователя2009-09-03T11:27:09Z<p>83.243.76.254: </p>
<hr />
<div>Как сделать XSLT-шаблон, выводящий список рассылок, на которые подписан текущий пользователь?<br />
<br />
Вот этот шаблон:<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'><br />
<br />
<xsl:template match="/"><br />
<html><br />
<head><br />
<title><xsl:value-of select="/result/@title" /></title><br />
</head><br />
<body> <br />
<div id="content"><br />
<h1><xsl:value-of select="//property[@name = 'h1']/value" /></h1><br />
<xsl:value-of select="//property[@name = 'content']/value" disable-output-escaping="yes"/><br />
</div><br />
<br />
<div id="subs"><br />
<xsl:apply-templates select="document('udata://dispatches/subscribe')/udata" mode="subs" /><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
<br />
<xsl:template match="subscriber_dispatches" mode="subs"> <br />
Вы подписаны на рассылки: <br/><br />
<xsl:apply-templates select="//items" mode="subs"/><br />
</xsl:template><br />
<br />
<xsl:template match="items" mode="subs"><br />
<xsl:value-of select="."/><br />
</xsl:template><br />
<br />
</xsl:stylesheet><br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA_%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&diff=356Список рассылок текущего пользователя2009-09-03T11:25:42Z<p>83.243.76.254: Новая страница: «Как сделать XSLT-шаблон, выводящий список рассылок, на которые подписан текущий пользовател…»</p>
<hr />
<div>Как сделать XSLT-шаблон, выводящий список рассылок, на которые подписан текущий пользователь?<br />
<br />
Вот этот шаблон:<br />
<source lang="html"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'><br />
<br />
<xsl:template match="/"><br />
<html><br />
<head><br />
<title><xsl:value-of select="/result/@title" /></title><br />
</head><br />
<body> <br />
<div id="content"><br />
<h1><xsl:value-of select="//property[@name = 'h1']/value" /></h1><br />
<xsl:value-of select="//property[@name = 'content']/value" disable-output-escaping="yes"/><br />
</div><br />
<br />
<div id="subs"><br />
<xsl:apply-templates select="document('udata://dispatches/subscribe')/udata" mode="subs" /><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
<br />
<xsl:template match="subscriber_dispatches" mode="subs"> <br />
Вы подписаны на рассылки: <br/><br />
<xsl:apply-templates select="//items" mode="subs"/><br />
</xsl:template><br />
<br />
<xsl:template match="items" mode="subs"><br />
<xsl:value-of select="."/><br />
</xsl:template><br />
<br />
</xsl:stylesheet><br />
</source></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE_%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D1%83_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B2_XSLT-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B5%3F&diff=350Как можно вывести строку поиска в XSLT-шаблоне?2009-09-03T11:19:55Z<p>83.243.76.254: Новая страница: «Как можно вывести строку поиска в XSLT-шаблоне? В <body> нашего первого обработчика (<xsl:template match=…»</p>
<hr />
<div>Как можно вывести строку поиска в XSLT-шаблоне?<br />
В <body> нашего первого обработчика (<xsl:template match="/">) по протоколу udata берем результат работы макроса поиска<br />
<br />
<br />
<br />
<xsl:apply-templates select="document('udata://search/search_do')/udata" mode="searchform"/><br />
<br />
<br />
<br />
Далее в шаблоне дизайна прописываем еще два шаблона: Первый получает данные работы макроса % search insert_form()% и выводит их списком:<br />
<br />
<xsl:template match="udata[@module = 'search' and @method = 'search_do']" mode="searchform"><br />
<xsl:apply-templates select="document('udata://search/insert_form')/udata"/><br />
<ul><br />
<xsl:apply-templates select="items/item"/><br />
</ul><br />
</xsl:template><br />
<br />
<br />
<br />
Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос:<br />
<br />
<xsl:template match="udata[@module = 'search' and @method = 'insert_form']"><br />
<form method="get" action="/search/search_do/"><br />
<input type="text" name="search_string"><br />
<xsl:attribute name="value"><br />
<xsl:value-of select="last_search_string"/><br />
</xsl:attribute><br />
</input><br />
<input type="submit" value="Поиск"/><br />
</form><br />
</xsl:template></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B_%D1%83%D1%81%D0%BF%D0%B5%D1%85%D0%B0_%D1%81_%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%BC%D0%B8_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85_%D1%84%D0%BE%D1%80%D0%BC_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B9_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_(webforms_insert)%3F&diff=343Как сделать разные страницы успеха с разными шаблонами дизайна для разных форм обратной связи (webforms insert)?2009-09-03T11:06:43Z<p>83.243.76.254: Новая страница: «Как сделать разные страницы успеха с разными шаблонами дизайна для разных форм обратной с…»</p>
<hr />
<div>Как сделать разные страницы успеха с разными шаблонами дизайна для разных форм обратной связи (webforms insert)?<br />
<br />
1. Это можно сделать с помощью строки<br />
<br />
<input type="hidden" name="template" class="textinputs" value="default" /><br />
<br />
<br />
<br />
в блоке webforms_block шаблона вебформы.<br />
<br />
value="default" здесь - шаблон в папке ~/tpls/webforms/ , по которому будет выводится страница успеха.<br />
<br />
Далее, дописываем еще один блок в шаблон вебформы<br />
<br />
$FORMS['posted'] = <<<POSTED<br />
% content redirect('/contacts/result')%<br />
POSTED;<br />
<br />
<br />
<br />
Страницу успеха под названием "Result" (для примера) теперь можно создать в Структуре и навесить на неё нужный шаблон дизайна.<br />
[править] для макроса <br />
<br />
2. В шаблоне вывода формы (tpls/data/reflection/webforms.tpl) в блоке $FORMS['form_block'] = <<<END после строки<br />
<br />
<form enctype="multipart/form-data" method="post" action="/webforms/send/"><br />
<br />
<br />
<br />
пропишите<br />
<br />
<input type="hidden" name="ref_onsuccess" value="/путь к странице успеха/" /><br />
<br />
<br />
<br />
[править] Гораздо проще сделать так:<br />
<br />
3. Найдите файл ~classes/modules/webforms/lang.php. Сделайте копию, назовите lang.ru.php и измените необходимую строку. Залейте в ту же папку. Ура!</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=336Заглавная страница2009-09-03T08:04:19Z<p>83.243.76.254: </p>
<hr />
<div><br />
<strong>Всем</strong><br />
*[[Решения проблем и ошибок]]<br><br />
*[[Вопросы установки настройки и переноса]]<br><br />
*[[Глоссарий]]<br><br />
<br />
<strong>Разработчикам сайтов на UMI.CMS</strong><br />
*[[Описание модулей и макросов]]<br><br />
*[[Описание шаблонизаторов]]<br />
*[[Вопросы и уроки разработки сайтов на UMI.CMS]]<br><br />
<br />
<strong>Разработчикам модулей и макросов</strong><br />
*[[API для разработчиков]]<br><br />
*[[Архитектура UMI.CMS]]<br></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9A%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&diff=332Категория:Кеширование2009-09-02T15:46:27Z<p>83.243.76.254: </p>
<hr />
<div><h2>[[Служебная:Categories|Cписок Категорий]]</h2></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9A%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&diff=331Категория:Кеширование2009-09-02T15:46:13Z<p>83.243.76.254: </p>
<hr />
<div><h2>[[Служебная:Categories|Cписок Категорий]]</h2><br />
<hr></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9A%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&diff=330Категория:Кеширование2009-09-02T15:45:14Z<p>83.243.76.254: </p>
<hr />
<div><font size="5">[[Служебная:Categories|Cписок Категорий]]</font><br />
<hr></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%92_phpinfo.php_%D0%B2%D0%B8%D0%B4%D0%BD%D0%BE,_%D1%87%D1%82%D0%BE_eaccelerator_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD,_%D0%BE%D0%B4%D0%BD%D0%B0%D0%BA%D0%BE,_%D0%B2_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B8%D1%85_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D0%BE%D0%B2_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82&diff=329В phpinfo.php видно, что eaccelerator установлен, однако, в списке кэширующих механизмов его нет2009-09-02T15:44:26Z<p>83.243.76.254: </p>
<hr />
<div><hr><br />
<h2>В phpinfo.php видно, что eaccelerator установлен, однако, в списке кеширующих механизмов (в модуле "конфигурация") его нет. Почему?</h2><br />
Eaccelerator должен быть скомпилирован с опцией --with-eaccelerator-shared-memory. Обратитесь к хостинг-провайдеру с просьбой пересобрать этот модуль.<br />
<br />
[[Категория:Кеширование]][[Категория:e-accelerator]]</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D1%85_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D0%B0%D0%BD%D1%82_%D0%BF%D1%80%D0%B8_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B5%D0%B9&diff=327Использование языковых констант при выводе новостей2009-09-02T15:39:47Z<p>83.243.76.254: Новая страница: «<hr> <h2>Можно ли не создавать отдельный шаблон дизайна для вывода новостей на английском язы…»</p>
<hr />
<div><hr><br />
<h2>Можно ли не создавать отдельный шаблон дизайна для вывода новостей на английском языке в случае незначительных различий (например, строки "Похожие новости")?</h2><br />
<br />
Нужно поступить следующим образом:<br />
<br />
1. В папке classes/modules/news/ создайте 2 файла: "lang.ru.php" и "lang.en.php" с содержанием файла "lang.php", лежащего в этой же папке.<br />
<br />
2. В файл "lang.ru.php" допишите следующую строку:<br />
<pre><br />
$LANG_EXPORT['n_related'] = 'Похожие новости:';<br />
</pre><br />
<br />
<br />
А в файл "lang.en.php":<br />
<pre><br />
$LANG_EXPORT['n_related'] = 'Similar news:';<br />
</pre><br />
<br />
<br />
Немного объясним: массив $LANG_EXPORT содержит языковые константы,которые может использовать модуль. Каждый ключ этого массива<br />
<br />
можно использовать как макрос, если заключить его в знаки "%".<br />
3. В шаблоне tpls/news/default.tpl вместо строки<br />
<br />
Похожие новости:<br />
<br />
вставьте % n_related%<br />
<br />
В итоге, в зависимости от языковой версии, будет выводиться "Похожие новости:" либо "Similar news:".</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D1%8C_%D0%BF%D1%80%D0%B8_%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B8_%D0%B5%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0&diff=326Ссылка на новость при наличии ее контента2009-09-02T15:38:37Z<p>83.243.76.254: Новая страница: «<hr> <h2>Как при наличии полного текста новости ставить на нее ссылку, а при отсутствии - не ст…»</p>
<hr />
<div><hr><br />
<h2>Как при наличии полного текста новости ставить на нее ссылку, а при отсутствии - не ставить?</h2><br />
<br />
Чтобы реализовать условность в tpl, в шаблоне вывода новостей нужно использовать макрос % data getProperty(% id%, 'content', 'choice')%<br />
<br />
В шаблоне ~/tpls/data/choice.tpl следует написать:<br />
<pre><br />
<?php<br />
$FORMS = Array();<br />
FORMS['wysiwyg'] = <<<END<br />
<a href="% data getProperty(% id%, 'link', 'template')%"><br />
<br />
% data getProperty(% id%, 'h1', 'template')%</a><br />
END;<br />
<br />
<br />
$FORMS['wysiwyg_empty'] = <<<END<br />
% data getProperty(% id%, 'h1', 'template')%<br />
END;<br />
?> <br />
</pre><br />
<br />
<br />
Таким образом, у вас в случае наличия текста в поле content будет отдаваться содержимое блока wysiwyg, а в случае отсутствия текста содержимое wysiwyg_empty.</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=RSS_%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D1%81%D0%B5%D1%85_%D0%BB%D0%B5%D0%BD%D1%82_%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B5%D0%B9&diff=325RSS рассылка для всех лент новостей2009-09-02T15:37:25Z<p>83.243.76.254: </p>
<hr />
<div><hr><br />
<h2>Как для каждой ленты новостей сделать свою RSS рассылку?</h2><br />
<br />
Для того, чтобы сделать для каждой ленты новостей свою RSS рассылку нужно сделать следующее:<br />
<br />
Откройте для редактирования шаблон дизайна, который используется для вывода ленты новостей. Между открывающим и закрывающим тегом head напишите макрос:<br />
<source lang="php"> <br />
<head><br />
...<br />
%data getRssMeta('%pid%')%<br />
...<br />
</head><br />
</source> <br />
<br />
<br />
<br />
Далее в шаблоне tpls/news/default.tpl в блоке<br />
<br />
<source lang="php"><br />
$FORMS['lastlist_block'] = <<<END<br />
</source><br />
<br />
<br />
пишем<br />
<source lang="php"><br />
<a id="rss" href="/data/rss/% id%/">RSS</a><br />
</source> <br />
<br />
<br />
Возможно, потребуется некоторая дополнительная настройка. С этими вопросами пишите нам на help@umi-cms.ru</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=RSS_%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D1%81%D0%B5%D1%85_%D0%BB%D0%B5%D0%BD%D1%82_%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B5%D0%B9&diff=324RSS рассылка для всех лент новостей2009-09-02T15:36:24Z<p>83.243.76.254: </p>
<hr />
<div><hr><br />
<h2>Как для каждой ленты новостей сделать свою RSS рассылку?</h2><br />
<br />
Для того, чтобы сделать для каждой ленты новостей свою RSS рассылку нужно сделать следующее:<br />
<br />
Откройте для редактирования шаблон дизайна, который используется для вывода ленты новостей. Между открывающим и закрывающим тегом head напишите макрос:<br />
<source lang="php"> <br />
<head><br />
...<br />
% data getRssMeta('% pid%')%<br />
...<br />
</head><br />
</source> <br />
<br />
<br />
Далее в шаблоне tpls/news/default.tpl в блоке<br />
<br />
<source lang="php"><br />
$FORMS['lastlist_block'] = <<<END<br />
</source><br />
<br />
<br />
пишем<br />
<source lang="php"><br />
<a id="rss" href="/data/rss/% id%/">RSS</a><br />
</source> <br />
<br />
<br />
Возможно, потребуется некоторая дополнительная настройка. С этими вопросами пишите нам на help@umi-cms.ru</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=RSS_%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D1%81%D0%B5%D1%85_%D0%BB%D0%B5%D0%BD%D1%82_%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B5%D0%B9&diff=323RSS рассылка для всех лент новостей2009-09-02T15:35:47Z<p>83.243.76.254: Новая страница: «<hr> <h2>Как для каждой ленты новостей сделать свою RSS рассылку?</h2> Для того, чтобы сделать для…»</p>
<hr />
<div><hr><br />
<h2>Как для каждой ленты новостей сделать свою RSS рассылку?</h2><br />
<br />
Для того, чтобы сделать для каждой ленты новостей свою RSS рассылку нужно сделать следующее:<br />
<br />
Откройте для редактирования шаблон дизайна, который используется для вывода ленты новостей. Между открывающим и закрывающим тегом head напишите макрос:<br />
<source lang="html"> <br />
<head><br />
...<br />
% data getRssMeta('% pid%')%<br />
...<br />
</head><br />
</source> <br />
<br />
<br />
Далее в шаблоне tpls/news/default.tpl в блоке<br />
<br />
<source lang="php"><br />
$FORMS['lastlist_block'] = <<<END<br />
</source><br />
<br />
<br />
пишем<br />
<source lang="html"><br />
<a id="rss" href="/data/rss/% id%/">RSS</a><br />
</source> <br />
<br />
<br />
Возможно, потребуется некоторая дополнительная настройка. С этими вопросами пишите нам на help@umi-cms.ru</div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=319Заглавная страница2009-09-02T15:29:51Z<p>83.243.76.254: </p>
<hr />
<div><h3>База знаний сейчас модифицируется и на данный момент тут много чего нету.<br><br />
Старую вики увидеть по адресу:<br />
http://wiki.phoenix.umisoft.ru/</h3><br />
<br />
<br />
<hr><br />
<strong>Всем</strong><br />
*[[Решения проблем и ошибок]]<br><br />
*[[Вопросы установки настройки и переноса]]<br><br />
*[[Глоссарий]]<br><br />
<br />
<strong>Разработчикам сайтов на UMI.CMS</strong><br />
*[[Описание модулей и макросов]]<br><br />
*[[Описание шаблонизаторов]]<br />
*[[Вопросы и уроки разработки сайтов на UMI.CMS]]<br><br />
<br />
<strong>Разработчикам модулей и макросов</strong><br />
*[[API для разработчиков]]<br><br />
*[[Архитектура UMI.CMS]]<br></div>83.243.76.254https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=318Заглавная страница2009-09-02T15:29:25Z<p>83.243.76.254: </p>
<hr />
<div><h3>База знаний сейчас модифицируется и на данный момент тут почти ничего нету. <br />
Старую вики увидеть по адресу:<br />
http://wiki.phoenix.umisoft.ru/</h3><br />
<br />
<br />
<hr><br />
<strong>Всем</strong><br />
*[[Решения проблем и ошибок]]<br><br />
*[[Вопросы установки настройки и переноса]]<br><br />
*[[Глоссарий]]<br><br />
<br />
<strong>Разработчикам сайтов на UMI.CMS</strong><br />
*[[Описание модулей и макросов]]<br><br />
*[[Описание шаблонизаторов]]<br />
*[[Вопросы и уроки разработки сайтов на UMI.CMS]]<br><br />
<br />
<strong>Разработчикам модулей и макросов</strong><br />
*[[API для разработчиков]]<br><br />
*[[Архитектура UMI.CMS]]<br></div>83.243.76.254