websfera

websfera

С нами с 30 марта 2017; Место в рейтинге пользователей: #409
websfera
25 августа 2018, 19:05
1
0
Решение (Благодаря помощи Павла Романова)
В чанк kontact-form добавляем скрытое поле:
<input type="hidden" value="" name="itemtitle" class="itemfield" />
Добавляем в кнопку обработчик клика onclick=«getItem('{$pagetitle}');»:
<button type="button" class="btn btn-secondary btn-lg btn-block" data-toggle="modal" data-target="#adviceModal" onclick="getItem('{$pagetitle}');">ЗАКАЗАТЬ</button>
и выносим в вызове pdoPage в чанк, либо заменяем ('{$pagetitle}') на (\'{$pagetitle}\')
Добавляем где-нибудь на странице функцию:
<script>
    function getItem(i){
        $('.itemfield').val(i);
    }
</script>
В вызов ajaxForm прописываем:
&emailSubject=`[[+itemtitle]]`
у меня сработало.
websfera
25 августа 2018, 10:10
0
ответ слишком сложный для меня, можно поподробнее?
1. в каком чанке нужно прописать?
{$_modx->resource.pagetitle}
Если прописываю в
&form=`kontact-form`
    &emailTpl=`tpl-kontact-form`
получаю только заглавие страницы списка услуг в форме.
2. «вешаешь событие af_complete» — куда его «вешать»?
Я думал нужно здесь что-то менять:
&emailSubject=`Сообщение с сайта [[++site_url]]`
Чтобы в заголовке письма вместо «Сообщение с сайта...» был указан нужный pagetitle дочернего ресурса.
websfera
16 августа 2018, 12:44
0
Первый вариант мне был понятен, но нужен именно второй, чтобы в админке ставить где-то галочку и ресурс выводился на главную.
Благодарю за помощь, всё понятно, буду пробовать!
websfera
21 января 2018, 11:05
0
у меня аналогичная проблемас AutoRedirector. Евгений, если нашли решение — отпишитесь, пожалуйста.
websfera
22 декабря 2017, 13:56
0
Благодарю ещё раз, всё отлично заработало.
websfera
22 декабря 2017, 13:30
0
Благодарю, счас буду пробовать.
websfera
22 декабря 2017, 13:28
0
не подходит. Сайт должны видеть только админы (это достигается с помощью «site_status» ) и неадмины чьи IP есть в списке. Т.е. высылается человеку ссылка и он сайт видит со своего IP
websfera
22 декабря 2017, 13:25
0
<?php
if($user->isMember('Registered')) return '';    //Проверяем состоит ли пользователь в группе Registered
$modx->sendRedirect($modx->makeUrl(5));        //Если нет перенаправляем его на ресурс с id 5
    exit;
Вот нашёл для зарегистрированных, а как сюда добавить IP?
websfera
22 декабря 2017, 13:19
0
проверять группу, авторизацию, IP
а можно поподробнее, или ссылку где поподробнее?
Ещё ни разу не делал плагинов сам.
websfera
22 декабря 2017, 12:21
0
этот способ коснётся и админов, а это неудобно.
Думал в modx это предусмотрено как-то, или дополнение есть какое-то.
Благодарю, поправил вопрос, чтобы было более понятно что мне нужно.
websfera
27 ноября 2017, 14:47
0
так здесь нет моих js — работает скрипт pagebreaker
вызов на странице срабатывает, т.к. пагинация происходит. Всё срабатывает кроме ajax
websfera
27 ноября 2017, 14:19
0
может это:
[2017-11-27 13:42:12] (ERROR @ ***.com/httpdocs/core/model/modx/modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/pagebreaker/setting
websfera
27 ноября 2017, 14:14
0
вот вроде что-то есть

SyntaxError: expected expression, got '<'
config.js:1
Но по адресу assets/components/pagebreaker/js/
файла config.js нет

websfera
27 ноября 2017, 14:02
0
ошибок связанных с pagebreaker/js/default.js в консоли нет
всё плохо?
websfera
27 ноября 2017, 11:34
0
ошибки валятся ли?
а где смотреть?
в исходном коде есть подключение js

<script type="text/javascript">
	if(typeof jQuery == "undefined") {
		document.write("<script src=\"/assets/components/pagebreaker/js/lib/jquery.min.js\" type=\"text/javascript\"><\/script>");
	}
</script>
<script type="text/javascript" src="/assets/components/pagebreaker/js/default.js"></script>
websfera
27 ноября 2017, 11:28
0
вот в том то и дело, что не экстрасенсы, сам понимаю.
Но куда уже подробнее.
Всё описано на стр. дополнения здесь и здесь
Думаю, что я чего-то не понял и чего-то не сделал.
Цитирую:
Ajax
Плагин может работать в режиме Ajax, то есть, переключать страницы без перезагрузки.

Для этого вам нужно активировать системную настройку pagebreaker_ajax
Ссылки на страницы должны иметь класс pb_link. Проверьте, если вы меняли стандартные чанки.
Тег [[*content]] должен быть обёрнут в элемент с #pagebreaker_content (можно изменить в настройке pagebreaker_ajax_selector).
То есть, вот так:

<div id="pagebreaker_content">
    [[*content]]
</div>
В режиме Ajax плагин старается работать через Javascript HistoryApi, то есть адрес страницы будет переключаться так же, как и без ajax. Никаких дополнительных параметров в строке адреса.

Если у посетителя старый браузер — придётся задействовать хэш в url.

pagebreaker_frontend_js [[+assetsUrl]]js/default.js Ссылка на javascript для загрузки на страницу. Работает только при включенном pagebreaker_ajax
Помимо этого ничего не делал.
Так понял что включение pagebreaker_ajax — подгружает pagebreaker_frontend_js — в котором и реализован ajax
websfera
20 ноября 2017, 18:19
0
а если /public_html/core/components/translit/model/modx/translit/tables/russian.php не трогать а в Системных настройках friendly_alias_translit указать не russian а свой russianmod и изменения внести в дубликат russianmod.php
Так и обновление не помешает верно?
websfera
20 ноября 2017, 15:20
0
$ret = preg_replace('/^yu/', 'u', $ret);
Внёс, н тоже не срабатывает… Кеш очитил.

вот что у меня:
public function translate($string, $table) {
        $ret = $string;
        $filePath = dirname(__FILE__) . '/tables/' . $table . '.php';
        if (is_file($filePath)) {
            $table = include $filePath;
            if (is_array($table) && !empty($table)) {
                $ret = strtr($string, $table);
                $ret = preg_replace('/^yu/', 'u', $ret);
            }
        }
        return $ret;
    }
}
websfera
20 ноября 2017, 15:18
0
странно, новые алиасы создаются согласно внесённым изменениям в friendly_alias_restrict_chars_pattern а вот обновление «Управление -> Очистить кэш -> Обновить URI-ссылки» — не срабатывает. Что не так мог сделать? Кеш почистил…
websfera
20 ноября 2017, 15:08
0
а при обновлении Translit это не слетит?