Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 145 комментариев

Александр Либерг
Александр Либерг
ну у меня 2.2.7 traditional

Я не понял? работает али нет?
Я тут почитал в php5 (в php6 исправлено, но увы он еще не в релизе)))) строковые функции strlen, substr и т.д. не правильно работают с utf8 — надо использовать mb_substr, mb_strlen и т.д. с указанием кодировки в параметрах функций.

Сейчас некогда вечерком буду код править, заменять эти функции в методах классов в той же escSplit

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

Вот адрес —
bezumkin.ru/user/topics/bezumkin/?page=20, страницы /topics/bezumkin/ не существует, есть только /topics/. а в ней сниппет, который определяет нужного юзера после косой и выводит его записи.

Если использовать стандартный getPage, то он будет все ссылки генерировать как bezumkin.ru/user/topics/?page=n, то есть по id страницы, игнорируя текущий адрес.Параметр для сниппета, передаваемый через url, потеряется.

В модификации же есть возможность оставить текущий адрес, добавляя к нему номер страницы — и тогда все работает отлично. Отсюда и название у схемы request — ибо отталкивается она он текущего адреса в $_SERVER['request'].

Задачи спратать ?page=n никогда не стояло.
Володя
Володя
вот только сейчас прикручивал, все пашет.
tpl.msGallery.row1
<li class="span2">
	<a href='[[+url]]' class='cloud-zoom-gallery thumbnail' rel="useZoom: 'zoom1', smallImage: '[[+360x270]]'" data-image="[[+url]]">
    <img src="[[+120x90]]" alt = "" title="[[+name]]" width="120" height="90"/></a>       
</li>
tpl.msGallery.outer1
<link href="assets/components/minifyx/zoom/cloud-zoom.css" rel="stylesheet" type="text/css" />
<script src="assets/components/minifyx/jquery-1.8.2.min.js"></script> 
<script type="text/JavaScript" src="assets/components/minifyx/zoom/cloud-zoom.1.0.2.js"></script>

<div id="msGallery">
	<a href='[[++assets_url]]components/minishop2/img/web/ms2_big.png' class='cloud-zoom' id='zoom1' rel="adjustX: 10, adjustY:-4, softFocus:true">
        <img src="[[++assets_url]]components/minishop2/img/web/ms2_medium.png" width="360" height="270" title="" id="mainImage"/>
    </a>
    
	<ul class="thumbnails">
		[[+rows]]
	</ul>
</div>
Mykhajlo Tsymbala
Mykhajlo Tsymbala
посоветуйте пожалуйста как зделать выборку с таблицы БД чтобы она отображалась в выпадающемся списке
в место масива
Cabinets.combo.Region = function(config) {
    config = config || {};
    Ext.applyIf(config,{
        store: new Ext.data.ArrayStore({
            id: 0
            ,fields: ['region','display']
            ,data: [
                ['MB','Megabyte']
                ,['GB','Gigabyte']
                ,['TB','Terabyte']
                ,['PB','Petabyte']
                ,['EB','Exabyte']
                ,['ZB','Zettabyte']
                ,['YB','Yottabyte']
            ]
        })
        ,mode: 'local'
        ,displayField: 'display'
        ,valueField: 'region'
    });
    Cabinets.combo.Region.superclass.constructor.call(this,config);
};
Ext.extend(Cabinets.combo.Region,MODx.combo.ComboBox);
Ext.reg('cabinets-combo-region',Cabinets.combo.Region);
Алексей
Алексей
Сперто взято с http://xpdo.org/api/xpdo/xPDO.html#escSplit

static escSplit (line 2109)

Splits a string on a specified character, ignoring escaped content.

Constants

    return: An array of results from the split operation, or an empty array.
    access: public

static array escSplit (string $char, string $str, [string $escToken = '`'], [integer $limit = 0])

    string $char: A character to split the tag content on.
    string $str: The string to operate on.
    string $escToken: A character used to surround escaped content; all content within a pair of these tokens will be ignored by the split operation.
    integer $limit: Limit the number of results. Default is 0 which is no limit. Note that setting the limit to 1 will only return the content up to the first instance of the split character and will discard the remainder of the string.
Распил строки по "&" на param=value, после уже param и value пилятся по знаку "=", $escToken по дэфолту ` (не ', а именно такой ` ).

Можно поиграть с параметрами (я именно про токены в $escToken — да да, плохой тон править сорцы, но главное причину найти).

То есть передать «другие токены» и использовать «переданные другие токены», вобщем пошел я спать)
Roman Smile
Roman Smile
Это ясно, что не предусмотрено. Скажите тогда, где они формируются, чтобы поправить в коде.

PS Хотя все-таки этот функционал должен был быть по умолчанию, потому что письма с сайта, которые нельзя отключить — это спам.
Алексей Карташов
Алексей Карташов
Рискну ответить…
На странице топика у Вас на сайте есть редактирование созданного уже Тикета/Заметки
как это можно реализовать?
Предположим форма добавления тикета находится на странице /post.html с id = 9. Тогда вам в шаблоне тикета надо поставить ссылку вида:
<a href="[[~9]]?tid=[[*id]]">Редактировать</a>
При написании Тикета/Заметки у Вас на сайте отсутствует
как это можно реализовать?
Я правильно понимаю, что вам надо реализовать отсутствие этой галочки? Тогда просто удалите соответствующий html-код из шаблона добавления/редактирования тикета и добавьте внутрь формы вот это:
<input type="hidden" name="published" value="1" />
И еще расскажите пожалуйста, что делают эти три вида режима работы сниппета у TicketForm
getTicketForm — показывает форму добавления/редактирования тикета,
saveTicket — сохраняет тикет,
previewTicket — предпросмотр тикета.
Ваш К.О.

p.s. если из написанного выше вы не поняли, что же надо сделать, чтобы решить ваши задачи, то лучше отдайте делать сайт тому, кто в этом разбирается.
Василий Наумкин
Василий Наумкин
Все просмотры пишутся в таблицу TicketView — нужно выбирать оттуда.

getTickets не считает отдельно кол-во комментариев, он выводит эту информацию плейсхолдером вместе с кучей других параметров. Исопользовать его как считалку комментариев не рационально.

В общем, тебе нужны 2 маленьких простеньких сниппета с выборкой из таблиц — один у тебя уже есть.
Олег Максименко
Олег Максименко
Можете навесить обработчик на submit формы.
И в этом обработчике показать какой нибудь прелоадер. Он будет показан до тех пор пока форма не отправится.

<script>

$(document).ready(function(){
    $('form').on('submit', function(){
        $('.loading').show();
    });
});

</script>