Макрос укорачивания URL — различия между версиями
Kalexey (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
| (не показаны 3 промежуточные версии 1 участника) | |||
| Строка 2: | Строка 2: | ||
[[category:Верстка в XSLT]] | [[category:Верстка в XSLT]] | ||
[[category:Верстка в TPL]] | [[category:Верстка в TPL]] | ||
| + | '''Актуально для версии 2.9''' | ||
| + | |||
<p> | <p> | ||
Данный макрос будет укорачивать переданный ему URL с помощью сервиса [http://www.tinyurl.com tinyurl.com]. Этот сервис не делает самый короткий URL, но его плюсом является то, что он не требует регистрации. | Данный макрос будет укорачивать переданный ему URL с помощью сервиса [http://www.tinyurl.com tinyurl.com]. Этот сервис не делает самый короткий URL, но его плюсом является то, что он не требует регистрации. | ||
| Строка 48: | Строка 50: | ||
</p> | </p> | ||
<source lang="html4strict"> | <source lang="html4strict"> | ||
| − | <xsl: | + | <a> |
| − | + | <xsl:attribute name="href"> | |
| − | < | + | <xsl:select-of select="document('udata://content/getTinyUrl/(http://www.umi-cms.ru/product/system/usability/)')/udata" /> |
| + | </xsl:attribute> | ||
| + | <xsl:text> | ||
| + | UMI.CMS Usability | ||
| + | </xsl:text> | ||
| + | </a> | ||
</source> | </source> | ||
| + | <table align="center" width="100%"> | ||
| + | <tr> | ||
| + | <td style="border: 1px dotted black; padding: 20px;"> | ||
| + | '''Примечание'''. | ||
| + | <br /> | ||
| + | <p> | ||
| + | Данный функционал был проверен на работоспособность в версии системы 2.8.5.1. | ||
| + | </p> | ||
| + | </td> | ||
| + | </tr> | ||
| + | </table> | ||
Текущая версия на 11:50, 5 июня 2013
Актуально для версии 2.9
Данный макрос будет укорачивать переданный ему URL с помощью сервиса tinyurl.com. Этот сервис не делает самый короткий URL, но его плюсом является то, что он не требует регистрации.
Тело макроса нужно будет разместить в файле "/classes/modules/content/__custom.php" после строки "//TODO: Write here your own macroses".
Листинг 1. Код макроса
/*
@param String
$url - URL для укорачивания
*/
public function getTinyUrl($url) {
if($url)
return file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
}
После того, как код макроса написан, необходимо добавить для него резрешение. Для этого создаём файл "permissions.custom.php" в той же папке, где находится "__custom.php", и пишем в нём следующий текст:
Листинг 2. Добавление разрешения
<?php
$permissions = Array(
'content' =>
Array('getTinyUrl')
);
?>
Теперь можно использовать макрос. Вот примеры его использования в TPL и XSLT шаблонизаторах:
Листинг 3. Использование макроса в TPL
%content getTinyUrl('http://www.umi-cms.ru/product/system/usability/')%
Листинг 4. Использование макроса в XSLT
<a>
<xsl:attribute name="href">
<xsl:select-of select="document('udata://content/getTinyUrl/(http://www.umi-cms.ru/product/system/usability/)')/udata" />
</xsl:attribute>
<xsl:text>
UMI.CMS Usability
</xsl:text>
</a>
|
Примечание.
Данный функционал был проверен на работоспособность в версии системы 2.8.5.1. |