Clean

Clean

С нами с 15 января 2013; Место в рейтинге пользователей: #86
Clean
27 мая 2013, 15:17
0
А что насчет E_NOTICE в phpшном логе?
Вообще это ошибка отработки AJAX скрипта, ну и соответственно скорее всего это сопровождается выхлопом в error
Clean
24 мая 2013, 22:39
0
Конечно, от чего нет?
Clean
24 мая 2013, 16:18
0
в общем-то да, только первый пассворд может быть как личным, так и общим.
И он никак не связан с базой modx.
Всегда в админку можно зайти из любого места, к примеру с телефона или планшета через3G, без привязанности к ip. Каждому свое, мне так удобней например
Clean
24 мая 2013, 14:29
0
по IP закрывать смысла особого нет, в силу того что в случае динамики придется заоходить на сервер, дописывать свой адрес… В общем это не удобно, это мое субъективное мнение конечно.
Для меня решение куда более простое -обычная авторизация, которая встроена в nginx/apache
Для этого просто в конфиг сайта, что в /etc/nginx/site-avaliable/
добавить в location /<что закрываем> {
auth_basic "Restricted";
auth_basic_user_file /var/www/<путь>/.htpasswd;

ну и по указанному пути создать файл .htpasswd (назвать можете как Вам угодно) и записать туда сгенерированный утилиткой htpassw имя юзеров: пароль, притом утилита есть и онлайновая, например вот эта
Clean
23 мая 2013, 14:37
0
Кстати действительно, проверю, что если брать Parentов при создании ресурсов… Отпишусь о результате теста, просто я был уверен, что при создании вновь созданный ресурс имеет ряд зависимостей, кроме своего родителя.
Clean
23 мая 2013, 13:13
0
В том, что кэш уже почищен, наверное?)
Мало данных… Быть может не доступа на /core/chache итп… В чем вообще трабла?
Clean
23 мая 2013, 13:07
0
я просто в качестве решения для магазина выбрал shopkeeper еще давно, когда твоего ms не было… Ну и там много всего докрутил)))А по дефолты все товары — это ресурсы, и делать экстенды стандартным классам ресурса уж очень не хочется… А с увеличением товара, отчищать кэш сайта стало явно не выгодно…
Вот теперь думаю что делать)))
Есть еще вариант-автоматически кэшировать весь сайт по раписанию cron чтобы не чустовать проблем, но это плохой выход)
Clean
23 мая 2013, 13:05
0
bezumkin.ru/sections/tips_and_tricks/351/ -актуально для обновление ресурса, а не для его создания +(
Clean
23 мая 2013, 12:58
0
Каким образом, если у ресурса свои ТВ, вообще по задумке это должен быть стандартный ресурс
Да, собственный кэшер Тикетов без сомнений крут, но а если от этого абстрагироваться и действовать стандартными методами, решений, полагаю нет.?
Clean
22 мая 2013, 23:32
0
На самом деле методологии везде разные, но как правило все сводится к простым этапам- от заказчика поступает BRD-бизнес требования, исполнитель на их основе формирует ТУ, ТУ согласовывается и дополняется, и после разрабатывается…
При приемке работ смотрится выполнение пунктов из ТУ.Если чего-то не хватило, и в момент разработки это доп. трудозатраты-это оговаривается отдельно, за отдельную плату после основной разработки.
Я бы не стал работать иначе, к примеру.
Clean
22 мая 2013, 23:16
0
Дам совет и скажу, что при текущем раскладе либо нарветесь на дилетанта, либо Вас кинут, либо просто не захотят работать.
Все это будет до того момента, пока Вы не предоставите ТУ с полным перечнем должного функционала.

Поэтому предлагаю задуматься, написать все требования, в оконченном и развернутом виде, и уже обсуждать их, и возможное их расширение, вместе с потенциальным разработчиком.
Удачи!
Clean
21 мая 2013, 10:45
0
Ну поэтому и не надо ничего переключать… Делать контекст для вашей цели не разумно.
Clean
20 мая 2013, 21:47
0
Первые два способа, что пришли на ум:
1.Сделать для каждого региона свою страницу с доставкой и контактами.Подцеплять ее ссылкой, или простым JS
2.Написать простой сниппет, который будет в зависимости от региона выводить нужный чанк с описанием.В итоге вообще 1 страница получится
Clean
20 мая 2013, 21:42
0
1-login
2-Управление пользователями,login/register
3-нифига не понял, но похоже надо разобраться с источниками файлов.
4.не понял требований, теже источники файлов.
— читать:
rtfm.modx.com/display/ADDON/Login
rtfm.modx.com/display/ADDON/Login.Register
rtfm.modx.com/display/revolution20/Media+Sources

загружать возможно придется через свой снипет.все зависит от требований
Clean
19 мая 2013, 21:01
0
=)))Вообще эти ОРМ блин, хороши конечно… Но не привычно…
Я больше доверяю практике и опыту например в своих EE проектах на работе, поэтому в связке Java с Oracle общение идет на PL/SQL, без всяких посреднеческих ОРМ… Конечно есть и минусы, вроде возможных XSS, но гибкость на высоте, как и скорость работы… Тяжело переучить себя =)
Clean
19 мая 2013, 18:20
0
Кстати все получилось, довольно просто, и я более менее разобрался в работе процессора.
Для того чтоб взять произвольный объект нужно просто переопределить его на стадии инициализации.

//переинициализируем получение объета,для записи по ID полученной транзакции
    
    /**
     * {@inheritDoc}
     * @return boolean
     */
    public function initialize() {
        $txn = $this->getProperty('txnid');
        $this->object = $this->modx->getObject($this->classKey, array('txnid' => $txn));
        if (empty($this->object))
        {
            return $this->modx->lexicon('access_denied');
        }

        return true;
    }
Clean
19 мая 2013, 13:24
0
1 способ не удался=)
попробовал передать в процессор
$response = $this->runProcessor('mgr/operation/update', array('txnid' => $id, 'status' => $status));
ну и в процессоре
public $primaryKeyField='txnid';
не помогло, щас в инициализации перепишу, думаю это самое логичное, судя по всему +)
Clean
18 мая 2013, 22:46
0
пример вызова скиньте, ну и код снипета.Все должно работать без проблем…
Clean
16 мая 2013, 22:47
0
1.)Регистрация

[[!Register?
    &submitVar=`registerbtn`
    &activationEmailTpl=`lgnActivationEmailTpl`
    &activationEmailSubject=`Спасибо за регистрацию!`
    &submittedResourceId=`20`
    &usernameField=`email`
    &usergroups=`Покупатели`
    &activation=`0`
    &validate=`nospam:blank,     
      password:required,
      password_confirm:password_confirm=^password^,
      fullname:required,
      email:required:email`
    &placeholderPrefix=`reg.`
    &postHooks=`auto-login`
]]

<div class="registerMessage">[[!+reg.error.message]]</div>
     
<form class="form" action="[[~[[*id]]]]" method="post">
<input type="hidden" name="nospam" value="[[!+reg.nospam]]" />

<table cellpadding="5">
  <tr>
        <td>Адрес эл. почты*:</td>
        <td>
            <input type="text" name="email" id="email" value="[[!+reg.email]]" />
            <div class="error">[[!+reg.error.email]]</div>
        </td>
    </tr>
    
    <tr>
        <td>Пароль*:</td>
        <td>
            <input type="password" name="password" id="password" value="[[!+reg.password]]" />
            <div class="error">[[!+reg.error.password]]</div>
        </td>
    </tr>
    <tr>
        <td>Повторите пароль*:</td>
        <td>
            <input type="password" name="password_confirm" id="password_confirm" value="[[!+reg.password_confirm]]" />
            <div class="error">[[!+reg.error.password_confirm]]</div>
        </td>
    </tr>
    <tr>
        <td>Ф.И.О.*:</td>
        <td>
            <input type="text" name="fullname" id="fullname" value="[[!+reg.fullname]]" />
            <div class="error">[[!+reg.error.fullname]]</div>
        </td>
    </tr>
  
    <tr>
        <td>Телефон:</td>
        <td>
            <input type="text" name="phone" id="phone" value="[[!+reg.phone]]" />
            <div class="error">[[!+reg.error.phone]]</div>
        </td>
    </tr>
    <tr>
        <td>Адрес доставки:</td>
        <td>
            <textarea name="address" id="address">[[!+reg.address]]</textarea>
            <div class="error">[[!+reg.error.address]]</div>
        </td>
    </tr>
    <tr>
        <td><input type="submit" name="registerbtn" value="Зарегистрироваться" /></td>
        <td></td>
    </tr>
</table>

</form>


2)Авторизация
[[!Login?
    &loginTpl=`tpl.loginTpl`
    &logoutTpl=`tpl.loginLogoutTpl`
    &errTpl=`lgnErrTpl` 
    &loginResourceId=`20`
    &logoutResourceId=`24` 
    &contexts=`web,catalog` ]]
4)
<p>[[!UpdateProfile? &placeholderPrefix=`usr`]]</p>
<div class="error">[[+error.message]]</div>
<p>[[+login.update_success:if=`[[+login.update_success]]`:is=`1`:then=`</p>
<div>Изменения сохранены.</div>
<p>`]]</p>
<form class="form" action="[[~[[*id]]]]" method="post">
<table cellpadding="5">
<tbody>
<tr>
<td>Ф.И.О.:</td>
<td><input id="fullname" type="text" name="fullname" value="[[!+usr.fullname]]" />
<div class="error">[[!+usr.error.fullname]]</div>
</td>
</tr>
<tr>
<td>Адрес эл. почты:</td>
<td><input id="email" type="text" name="email" value="[[!+usr.email]]" />
<div class="error">[[!+usr.error.email]]</div>
</td>
<td>*Этот адрес используется для отправки уведомлений. В случае его изменения вход в систему будет возможен только с прежним адресом.</td>
</tr>
<tr>
<td>Телефон:</td>
<td><input id="phone" type="text" name="phone" value="[[!+usr.phone]]" />
<div class="error">[[!+usr.error.phone]]</div>
</td>
</tr>
<tr>
<td>Адрес доставки:</td>
<td><textarea id="address" name="address">[[!+usr.address]]</textarea>
<div class="error">[[!+usr.error.address]]</div>
</td>
</tr>
<tr>
<td><input type="submit" name="registerbtn" value="Сохранить" /></td>
<td style="line-height: 28px;"><a href="[[~22]]">Изменить пароль</a></td>
</tr>
</tbody>
</table>
</form>
— Блок:
<div class="header-userbar">
                     [[!Personalize? &yesChunk=`tpl.userpanelMember` &noChunk=`tpl.userpanelGuest` &ph=`name`]]
                             </div><!-- !Header Userbar -->

tpl.userpanelGuest
<a href="[[~19]]">Вход</a> |  <a href="[[~26]]">Регистрация</a>
tpl.userpanelMember
<span id="logged_in_status"><strong>[[+name]]</strong> (<a href="[[~20]]">Кабинет</a>|<a href="[[~24? &service=`logout`]]">Выход</a>)</span>