2020

Привет, друзья! Не буду ходить вокруг, да около — это поздравление с новым, 2020 годом!



Старый год был для нас очень непростым, большинство уже разуверились в светлом будущем MODX3, кто-то не верит в него и сейчас, но alpha версия-таки вышла, а это уже кое-что.

Многие считают, что изменений в ней кот наплакал и помимо спорного дизайна, ничего там интересного нет, но это не так. Один только переход на xPDO3 с namespaces и перепиливание всего ядра, контроллеров и процессоров автоматически ломает обратную совместимость, хоть её и пытались долго сохранить.

Не вышло.
Василий Наумкин
31 декабря 2019, 14:17
modx.pro
1
925
+37

Почему MODX лучше чем (%cms_name%} или как продать клиенту MODX

Привет. Хочу разбавить статьи немного нестандартной для этого сайта статьи. Техническую статью я тоже хочу написать, но сейчас хочу вам рассказать как лично я продаю MODX в заказах.

Статья пусть и выглядит как гайд, но таковым не является. Я делюсь своим опытом общения с людьми, которым нужны сайты. Не ругайте меня, если ваша точка зрения в каких-то вопросах не совпадает с моей.

MODX — отличная система для новичков в разработке и для тех, кому нужно создать хорошее скалируемое приложение с минимальным стартом.
Для начала, нужно понимать где вообще уместно применять MODX. В теории — везде, прям вообще везде. На практике, к сожалению не так. Объясню что я имею ввиду.
Лично я использую MODX для тех сайтов, где использование более классических CMS — глупо, а использовать взрослые фреймворки — впадлянку.

Часто бывает такая ситуация, когда вы общаетесь с клиентом и понимаете, что MODX для этих задач является идеальным выбором. Вы его хорошо знаете, вы можете выполнить проект достаточно быстро. Возникает задача, как же продать клиенту MODX? Даже такому, который сам предложил вам выполнить проект на другой системе или платформе? Я не буду сейчас устраивать холиварное месиво, все будет построено вокруг фактов.
Я предлагаю рассмотреть все варианты:
Павел Бигель
12 января 2020, 01:55
modx.pro
932
+18

modxNotes - Компонент для создания заметок

Короткий анонс компонента.

Исходя из ответов на вопрос нужен ли этот компонент, я сделал вывод, что как минимум он не будет никому мешать. После моего призыва на проект залетели @Pavel Zarubin и @Иван Бочкарев, предложили хорошие идеи и некоторые из них даже реализовали. Компонент стартует с версии 1.2.1-pl.

Баха Волков
19 января 2020, 13:39
modx.pro
1
409
+16

Новая версия modInstagram, теперь без токена!



Всем привет!

Наконец появилось время заняться компонентом. Еще с 15 октября 2019 Instagram перестал выдавать токены для устаревшего API www.instagram.com/developer/. В связи с чем пришлось искать другие способы получения постов и решено было выдергивать json, который можно достать с любой публичной страницы.
Игорь Терентьев
Вчера в 21:27
modx.pro
161
+11

Расширение файла `` не допускается

Столкнулся с такой вот проблемой Расширение файла `` не допускается:


В системных настройках upload_files конечно же был указан png
txt,html,htm,xml,js,css,zip,gz,rar,z,tgz,tar,mp3,mp4,aac,wav,au,wmv,avi,mpg,mpeg,pdf,doc,docx,xls,xlsx,ppt,pptx,tiff,svg,svgz,gif,psd,ico,bmp,odt,ods,odp,odb,odg,odf,md,ttf,woff,eot,scss,less,css.map,jpg,jpeg,png,php
При этом файл успешно загружался и всё равно было такое уведомление.
Мне конечно же не мешало, но заказчику не нравилось.

Кирилл
27 декабря 2019, 12:03
modx.pro
6
389
+8

AjaxForm + Register

Нигде не нашел решения как сделать регистрацию из стандартного пакета Login через AjaxForm, ниже мое решение может кому пригодиться.

1 Размещаем сниппет AjaxForm где требуется (на странице, в попап окне и т.п.)

[[!AjaxForm?
    &snippet=`custRegister`
    &form=`tpl.register.form`
    &submitVar=`signup-btn`
    &activationResourceId=`9`
    &activationEmailTpl=`lgnActivateEmailTpl`
    &activationEmailSubject=`Thanks for Registering!`
    &usergroups=`Users`
    &usernameField=`email`
    &generatePassword=`1`
    &validate=`nospam:blank,
               fullname:required:minLength=^3^,
               email:required:email`
    &placeholderPrefix=`reg.`
]]
2 Создаем чанк tpl.register.form с формой

<form id="signup-form" action="[[~[[*id]]]]" method="post">
    <input type="hidden" name="nospam">
    <input type="hidden" name="password" value="11111111">
    <input type="text" name="fullname">
    <small class="alert-fullname"></small>
    <input type="email" name="email">
    <small class="alert-email"></small>
    <input type="submit" name="signup-btn" form="signup-form" value="Signup">
</form>
3 Создаем сниппет custRegister

<?php
$result = $modx->runSnippet('Register', $scriptProperties);
foreach($modx->placeholders as $key => $ph){
    if(strpos($key, $scriptProperties[placeholderPrefix].'error.') === 0) $placeholders[$key] = $ph;
}
if($modx->getPlaceholder($scriptProperties[placeholderPrefix].'validation_error')) return $AjaxForm->error('Form has errors', array('error' => $placeholders));
else return $AjaxForm->success('Form is valid');
4 На странице с формой добавляем скрипт, который заполнит алерты или сообщит об успехе или еще все что угодно

<script>
    $(document).on('af_complete', function(event, response){
        $.each(response.data.error, function(index, value){$(response.form).find('.alert-' + index.split(".").pop()).html(value);});
        response.message='';//jGrowl - off
    });
</script>
Вот и всё!
Рейтинга для размещения в разделе Решения не хватило, поэтому публикую здесь.
Greza
14 января 2020, 17:21
modx.pro
4
77
+2

Не считается процент скидки (fenom + minishop2)

На витрине товаров выводится процент скидки от старой цены, вот так:
{if $old_price?}
                    <span>-{100 - (($price*100)/$old_price) |round }%</span>
{/if}
Все работает, но обнаружил странный глюк.
Есть несколько товаров, у которых процент скидки указывается как 0%, при этом у других товаров из этой же категории все ок, старая цена и просто цена указаны верно, абсолютно не пойму в чем может быть проблема…
Victor
19 января 2020, 16:24
modx.pro
2
67
+1

Короткие ссылки

1 100 000
Нужно укоротить ссылки, которые вводит сниппет.
Документы находятся в таблице migx

Шаблон вывода имеет вот такой вид:
[[+pagetitle]] [[~[[+resource_id]]]][[+alias]].html

Нужно чтобы на выходе конструкция с урлом сокращалась через гугловскую сокращалку (ключ апи есть)
Скайп: mas_hate
infora
05 января 2020, 01:11
modx.pro
144
+1