Всего 122 914 комментариев

Павел Ширяев
22 сентября 2015, 19:26
0
Попробовал на другом — совершенно та же картина. Кстати, совершенно чистый modExtra выдает те же ошибки при попытке установки «из коробки», как есть, без всяких изменений, так что не в переименовании дело.
Павел Ширяев
22 сентября 2015, 19:17
0
Сергей, я его брал два дня назад у Василия на гитхабе.

Статья эта лежит у меня в избранных, но так и не разобрался, были ли внесены эти изменения в изначальный modExtra.

Вообще, там странная штука, сейчас попробую развернуть на каком нибудь другом сервере. Тут какой-то глюк MySQL налицо, поскольку если удалить поле «active» через PHPMyAdmin, то магическим образом в MyAdmin`е становятся видны name и description. Если затем вручную добавить active, то в админке на странице компонента даже проходит создание и сохранение элемента, но в таблице элемент после этого не появляется.

Вообще, у меня это полностью стоковый modExtra, только переименованный путем rename_it.php, я просто смотрю, как он себя ведет и что умеет. Я просто удалил стоковую схему и сгенерировал через build.model.php новую, а затем попытался собрать и установить через build.transport.php. Так что сам я напортачить, вроде бы, не должен был.
Михаил
22 сентября 2015, 19:15
0
Да, именно в новом так делает. Была такая же история, но так как мне таблицы не нужны были, я пока отложил решение проблемы.
Павел Левин
22 сентября 2015, 19:15
0
Спасибо Василий, видать дело не в htaccess.
Глянул modx.pro/?id=6538 и он не перешел на modx.pro/help/6538/
Сергей Шлоков
22 сентября 2015, 18:51
+2
Я не профессиональный программист и у меня нет сторонних проектов, только свои. В них я не меняю. Так как не слышал о взломах сайта по этой причине.
r5uY40
22 сентября 2015, 18:48
0
Спасибо, Сергей. Теперь понял на что ругался nginx. А вы это используете в своих проектах — изменение ключа? Или нет особого смысла?
Fi1osof
22 сентября 2015, 18:39
+1
Ладно, тут диалог тоже не имеет смысла. Продолжайте обижаться, если вам есть за что. Это безусловно имеет прямое отношение к ценности предложенной технологии.
Сергей Шлоков
22 сентября 2015, 18:39
+2
Конфигурационный ключ — это название файла настроек в /core/config/ключ.inc.php. По-умолчанию config, поэтому и файл называется config.inc.php. Если ключ поменять, то и файл нужно обозвать соответственно.
Для дополнительной безопасности. Я не меняю его.
Пётр Молчанов
22 сентября 2015, 18:34
0
аа, ну да. я свои параметры добавлял сам. у мя на странице 2 чекбокса и один текстовый инпут.
может мой код поможет:
$(document).ready(function(){
    $('.filters input').on('change keypress paste', function() {
        var service = '';
        if($('.filters .service_foto:checked').length == 1 && $('.filters .service_design:checked').length)
            service = 'all';
        else if($('.filters .service_foto:checked').length == 1)
            service = 'service_foto';
        else if($('.filters .service_design:checked').length == 1)
            service = 'service_design';
        
        var city = $('.filters .city').val();
        
        $.ajax({
            type: "POST",
            data: "city="+city+"&service="+service,
            url: "[[~1539? &scheme=`full`]]",
            beforeSend: function() {
                $('#pdopage').html('<div class="center" style="width:100px;padding:50px; 0"><i class="fa fa-refresh fa-spin fa-3x"></i></div>');
            },
            success: function(response) {
                $('#pdopage').html(response);
            }
        });
    });
});
$(document).on('as_complete', document, function(e,d) {
    $(document).on('click', '.pagination a', function(e) {
        e.preventDefault();
        var url = $(this).attr('href');
        
        var service = '';
        if($('.filters .service_foto:checked').length == 1 && $('.filters .service_design:checked').length)
            service = 'all';
        else if($('.filters .service_foto:checked').length == 1)
            service = 'service_foto';
        else if($('.filters .service_design:checked').length == 1)
            service = 'service_design';
        
        var city = $('.filters .city').val();
        
        $.post(url, {as_action: d["key"], city: city, service: service}, function(response) {
    	    if (typeof response.output !== "undefined") {
    		    $('#pdopage').html(response.output);
            }
        }, "json");
        return false;
    });
});
на странице по адресу [[~1539]] вызывается мой сниппет, где я формирую условия для вызова pdoPage (всякие select, join'ы, where, который складываются в массив options), а возвращает он это:
$output = $modx->runSnippet('pdoPage',$options);
echo $output.$modx->getPlaceholder('page.nav');
единственный минус — не меняется тайтл и урл при пэйджинге, хз как побороть это) если кто подскажет — буду признателен
Максим Кузнецов
22 сентября 2015, 18:22
0
и только за игнорацию этой просьбы (читай проявление неуважения), я могу в ответ проявить неуважение и что-нить сказать грубое.
*пожав плечами* Какая, в сущности, разница? То, как вы поступаете (в ответ на что-то или нет) характеризует и вас в том числе.

Ну и да, просто следуя данной логике:
— Вам задают вопрос (с целью получить ответ)
— Вы считаете его глупым (отталкиваясь от своего уровня знаний) и просите пользователя вопрос не задавать
— Пользователь не достигает своей цели (узнать ответ на вопрос) и продолжает интересоваться
— Вы считаете это неуважением и грубите

Что же до ссылки… Простите, но после редизайна мне довольно дискомфортно искать что-то (нужны как минимум отступы между постами) да и не слишком хочется — можете считать мое высказывание сугубо личным видением картины, но не обвинением (дело-то ваше как поступать).
Дмитрий
22 сентября 2015, 18:17
0
По всей видимости, нужно дорабатывать frontendjs.
Жаль, что в «assets/components/pdotools/js/pdopage.js» нет комментариев к коду.
Дмитрий
22 сентября 2015, 18:15
0
Попробовал. Данные в сниппет передаются. Однако при Ajax — запросе, параметр where не учитывается, увы.
Параметры:
assetsUrl: "/assets/components/pdotools/"
link: "#pdopage .pagination a"
mode: "button"
more: "#pdopage .btn-more"
moreTpl: "<button class="btn btn-default btn-more glyphicon glyphicon-refresh"></button>"
pageLimit: 4
pageVarKey: "page"
pagination: "#pdopage .pagination"
rows: "#pdopage .rows"
wrapper: "#pdopage"
Василий Наумкин
22 сентября 2015, 17:41
0
Тикеты нужно выводить через getTickets. Можно сказать, что это модифицированный pdoResources, только для тикетов.
Fi1osof
22 сентября 2015, 17:31
0
По поводу копипаста: не буду возражать, не имеет смысла. Для меня это просто «первоисточник в одном месте».

В свое время перестал заходить на modxclub именно из-за такого формата общения, мол мы тут настоящие программисты, сначала напишите свой собственный modx, а потом критикуйте/спрашивайте.
Ткните ссылкой, в каком месте вас там послали? Или кого еще? Даже если очень глупые вопросы задают, я спокойно прошу не задавать повторно такие, и только за игнорацию этой просьбы (читай проявление неуважения), я могу в ответ проявить неуважение и что-нить сказать грубое. С вашей стороны сейчас это обвинение, прошу подкрепить пруфами.

По самой теме: идея здравая — здоровая конкуренция всегда на пользу, так что посмотрим что получится в итоге. Но сейчас, на мой взгляд, пока смотреть особо не на что.
Пока вам смотреть нечего, одну площадку мы уже оттестировали успешно и будем пилить автоматическую установку SSL-сертификатов (уверен, у Ксении лучше это получится, чем у меня). И вот еще уже запрос пришел, еще будем тестировать.
Василий Наумкин
22 сентября 2015, 16:37
+1
Допустим мы заходим на страницу по modx.com/?id=123 и получаем modx.com/company/media-center/news-releases/modx-evolution-1.0.3/ как сделать аналогичное?

Это решается элементарным плагином:
<?php
if ($modx->event->name == 'OnWebPageInit' && !empty($_GET['id'])) {
	$id = (int)$_GET['id'];
	if ($modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
		$modx->sendRedirect($modx->makeUrl($id));
	}
}
Писал без проверки, могут быть опечатки, но принцип должен быть понятен.
Максим Кузнецов
22 сентября 2015, 15:56
+6
Все-таки поставил минус. (пояснение «почему» прилагаю)

Первое: не первый раз от вас уходит тема на главную в формате «нет времени объяснять, вот ссылка с описанием на моем собственном ресурсе (стороннем) по modx'y». Выглядит как перетягивание одеяла или то, что лениво было нажать ctrl+c, ctrl+v.

Второе: изначально не хотел ставить минус, т.к. сама суть поста интересная, но вот это:
сорри, вы кто? Чем вы таким выделились, чтобы кому-то про какой-то дом говорить и т.п. Почему Василий мне не говорит «Коля, ты приперся не в свой дом, и я не хочу чтобы ты здесь это писал»? Вполне можно принять, что modx.pro это его дом. А вы тут при чем? Написали пять заметок-вопросов и уже решили, что можете права на дома раздавать? Идите хоть пару компонентов полезных выпустите или типа того. Или хоть пулл-пеквест в MODX отправьте. Есть там ваши? А то ппц, ничего полезного сами не сделают, так еще потом решают кому что говорить, а кому не говорить. Лучше время бы на поучиться программировать потратили.
— вынудило.
В свое время перестал заходить на modxclub именно из-за такого формата общения, мол мы тут настоящие программисты, сначала напишите свой собственный modx, а потом критикуйте/спрашивайте. Это мало того, что не прельщает новых пользователей обучаться модксу (а раньше, имхо, такой подход и вовсе расколол сообщество), так еще и выглядит по хамски.

По самой теме: идея здравая — здоровая конкуренция всегда на пользу, так что посмотрим что получится в итоге. Но сейчас, на мой взгляд, пока смотреть особо не на что.
Николаевич
22 сентября 2015, 15:45
0
если найдете решение, сообщите пожалуйста