Всего 123 786 комментариев

Wassi Wassinen
07 августа 2024, 00:28
+6
По Яндекс Метрике — у главной страницы Modx.pro восемь тысяч посетителей за месяц. Если они будут чаще видеть кнопку\блок доната, то вероятность набрать больше денег, скорее всего, повысится. :)
Wassi Wassinen
07 августа 2024, 00:24
+7
Что-то вроде этого (макет). :)

Wassi Wassinen
07 августа 2024, 00:09
+3
Смысл в том, чтобы топовые донаты всегда были на виду у сообщества. Это основной принцип при сборе. :)
Собраны маленькие суммы, в том числе, потому, что информацию о краудфаундинге не найти. Точнее, найти можно, но это нужно специально стараться искать. :)

Как написал Иван ниже — хотя бы блок с ссылками добавьте в шапку сайта. Или строку с баннером\кнопкой. Дизайн могу наверстать.
Артур Шевченко
06 августа 2024, 23:31
1
0
создатели движка настоятельно рекомендуют это сделать
Что мешает сделать так же (см. под заголовком Protect the Core and Other Locations) со второй версией?

Я не отрицаю наличие проблемы, просто не знаю как её решить со стороны компонента.
Ivan K.
06 августа 2024, 23:23
+3
Спасибо вам за работу. Очень жду финальной версии.
Поместите хотя бы кнопку доната в верхнее меню, и сделайте ее жирной и красной))
Я например, донатил бы чаще, а не только, когда вижу хорошие новости)
а то 46 000 руб. это уж совсем скромный результат.
Николай Савин
06 августа 2024, 23:01
0
Честно, я не вижу в этом большого смысла.
Крупных мотивирующих сумм собрать не получится — у нас не так много народу. А возиться за идею вроде как некому. Может быть после минишопа.
Wassi Wassinen
06 августа 2024, 22:59
+2
Николай, прежде всего — вы молодцы.
Что хотелось бы предложить ( не уверен, что предложение по адресу).

Добавьте на Modx.pro раздел «Краудфандинг». Или что-то схожее по названию и смыслу. Логика следующая — в этот раздел можно будет добавить тикеты о краудфандинге (сборе) на тот или иной компонент и доработки. За сбор можно будет проголосовать (поставив + к рейтингу) и это будет поднимать крауды в топе. По сути, это ещё один раздел с стандартными тикетами в которых будут ссылки на донаты. Эти тикеты всегда будут на виду и отранжированы по рейтингу.

В шапке главной странице добавьте блок с выводом трёх плашек-ссылок на краудфандинги. Краудфандинг на MS3 — чтобы его постоянно было видно на главной странице + ещё пару топовых по рейтингу сборов. Или он сам в топ вылезет (уверен).

Таким образом:
1. Будет больше внимания привлечено к донатам на развитие дополнений MODx
2. Донаты всегда будут на виду (сейчас информацию про них найти довольно сложно)
3. Это хорошая инициатива для развития других компонентов

Благодарю за внимание.
Алексей
06 августа 2024, 22:45
0
Все решил, не проследил что исполняющий файл создан от другого пользователя, у кого проблемы с cron, проверяйте права и пользователя.
Файл cron:
<?php
    define('MODX_API_MODE', true);
    require 'Полный пусть до файла index.php в корне';
    $modx->getService('error', 'error.modError');
    $modx->setLogLevel(modX::LOG_LEVEL_ERROR);
    
    $corePath = $modx->getOption('sync_core_path', null,
	$modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/sync/');
	$Sync = $modx->getService('sync');

	$params = array(
	'service'   => 'moysklad',
	'action'    => 'mgr/mscategory/sync',
	'sync_step' => 'sync_init',
	);

	$response = $Sync->curlExec($params);
Prihod
06 августа 2024, 19:55
0
Ну тебе нужно перед показом окна делать самому AJAX запрос на сайт что бы подтянуть инфу с списком избранного и добавлять его в модальное окно после чего показывать. Из коробки такого функционала нет.
Sergey (Sentinel)
06 августа 2024, 19:07
0
Да.
Я написал скрипт, который при клике на сердечко открывает modal окно
const modal = document.querySelector(".modal-wishlist-main");
const closeButton = document.querySelector(".close-btn");

function toggleModal() {
    modal.classList.toggle("open");
}

function windowOnClick(event) {
    if (event.target === modal || event.target.closest(".modal-wishlist-main")) {
        toggleModal();
    }
}

document.addEventListener("click", function(event) {
    if (event.target.classList.contains("myfavorites-btn")) {
        toggleModal();
    } else if (event.target === closeButton) {
        toggleModal();
    } else if (!modal.contains(event.target)) {
        if (modal.classList.contains("open")) {
            toggleModal();
        }
    }
});
Но
[[!pdoPage?
    &element=`msProducts`
    &parents=`0`
    &limit=`12`
    &resources=`[[!+myf.ids]]`
  ]]
обновляется только при перезагрузки страницы, соответственно при всплывании окна там пусто
Prihod
06 августа 2024, 18:50
0
Не совсем понял что обновилось, в модальном окне товар из списка избаранного?
Konstantin
06 августа 2024, 17:51
0
На свой страх и риск вы можете не выносить core, однако создатели движка настоятельно рекомендуют это сделать и у меня несколько сайтов так работают. Хочется перейти на sendit, но без риска для сайтов. Сайты работают на обычных shared хостингах так что особенно там ничего не «сконфигурируешь».
Евгений Webinmd
06 августа 2024, 16:44
0
боюсь что потом за этот косарик буду должен отработать неделю
Иван
06 августа 2024, 15:06
0
Если мне не изменяет память, то у Redirect нет флагов. Это доступно у RewriteRule
Любовь
06 августа 2024, 13:15
0
Подскажите, компонент выпущен (не нашла)? С его помощью можно из любых форм на сайте всё записывать в гугл таблицу?
Sergey (Sentinel)
05 августа 2024, 23:46
0
А как-то можно чтобы
[[!MyFavorites.ids? &toPlaceholder=`myf.ids`]]
[[!+myf.ids:is=`-0`:then=`
  [[%myfavorites_info_list_empty]]
`:else=`
  [[!pdoPage?
    &element=`msProducts`
    &parents=`0`
    &limit=`12`
    &resources=`[[!+myf.ids]]`
  ]]
  <button class="btn btn-primary" data-myfavorites-clear>[[%myfavorites_clear_list]]</button>
  [[!+page.nav]]
`]]
через ajax обновлялось при добавлении товара? нужно в modal выводить список
Алексей
05 августа 2024, 22:42
0
Можете поделиться как завели крон? Ни в какую не пашет, ни через crontab, ни через пакет cronmanager
Евгений
05 августа 2024, 14:40
0
Странное дело.
Пока решил костылем
$res = $modx->getObject('modResource', $response->response['object']['id']);
$response->response['object']['url'] = $res->get('uri');