Вопросы

Не сохраняется порядок картинок в галерее

Надо поменять порядок картинок на сайте.
Перетаскиваю, сохраняю, жму назад:
joxi.ru/Vrw65G8T83jGZA

А ничего не меняется, но на отдельных записях меняется

Обычная галерея
joxi.ru/Q2Ka8kYHwEyp0r
MODX Revolution 2.7.0-pl
Alex3
25 марта 2020, 00:16
modx.pro
517
0

а расскажите мне про Github и программирование с git

Если у кого-то найдется время и возможность, поделиться своим опытом и ответить на мои вопросы, буду благодарен.

Я обычно стараюсь максимально подробно изложить вопрос и проблему, но часто вижу, что просто сбиваю людей с толку. И сейчас я тоже вычертил много диаграмм, продумал текст, но решил повременить.
Попробую кратко.
Я был очень много лет единственным программистом в компании, сейчас стоит задача наладить работу для 4-5 разработчиков.
Нюансы. Наша компания только 20 процентов сайтов разрабатывает сама. Остальные 80 — это проекты кем-то когда-то сделанные, на разных CMS и фреймворках, которые уже по 10 лет работают на захудалых виртуальных хостингах.
Цель. продумать схему работы, при которой сам сайт (production) будет максимально защищен от ошибок, при этом несколько разработчиков смогут так или иначе влиять на его код, постоянно внося изменения.

Я специально удалил из этой диаграммы все связи.

чтобы не навязывать своих идей.
Есть сайт, который трудится на хостинге заказчика (не факт что там даже есть git но пока не будем о печальном). Есть наш сервер. У каждого проекта планирую свой сервер, поскольку сайты все разные (есть такие которые требуют php 5.2 а есть такие которые в качестве операционки используют os bitrix). Есть два разработчика, которые могут взаимодействовать с сервером dev (я предполагаю, что взаимодействие будет через возможности ide работу с удаленными серверами)
есть аккаунт на github.

Как максимально правильно связать это в жизнеспособную систему? Где должны быть инициированы репозитории? Потому как из моих скудных знаний о git я знаю, что клонировать репозиторий можно только в пустую директорию, а значит первую инициацию нужно проводить на сервере production…

А теперь часть вопросов о сервисе github.
Александр Мельник
24 марта 2020, 19:33
modx.pro
2 433
+3

Как разбить строку в чанке на массив?

Здравствуйте!
Как разбить строку в чанке на массив?
В тв parametr — список (множественный выбор), разделитель ",".
{set $parametr_string = $_pls['tv.parametr']}
{set $parametr_array = $parametr_string|split}
Получаю
$parametr_string = 33||24
$parametr_array = 33||24
Александр
24 марта 2020, 18:46
modx.pro
1 084
0

Невозможно установить пакет.



С чем может быть связанна данная ошибка?
Rgeo
24 марта 2020, 13:39
modx.pro
564
0

Как сделать RSS для Яндекс Дзена?

Делаю ленту RSS для Яндекс Дзена. Возник вопрос, как вытащить из контента все изображения и поместить их в RSS списком в тегах?

<enclosure url="http://example.com/2023/07/04/pic1.jpg" type="image/jpeg"/>
<enclosure url="http://example.com/2023/07/04/pic2.jpg" type="image/jpeg"/>


P.S.

Нашел как вывести первое изображение

preg_match('/<img[^<>]+src=[\'"](?P<src>.+)[\'"][^<>]*>/i', $input, $image);

return $image['src'];
Но данный сниппет не вырезает alt теги, width и height
+ нужно вернуть списком значение, не только первое изображение
Андрей
24 марта 2020, 11:15
modx.pro
601
0

CityFields – как сделать переадресацию после выбора города?

Ситуация следующая – стоит плагин CityFields
Поддоменов на сайте нет, город банально выбирается и соответственно показывается необходимый контент

Но когда выбирается город, пользователь остается на прежней странице.
Как сделать переадресацию после выбора города например на страницу с ключом /moscow при выборе Москвы
Или /krasnodar при выборе краснодара?
Андрей
23 марта 2020, 19:59
modx.pro
1 025
0

Не работает JS для карусели

Здравствуйте. Сверстал страницу. На локальном сервере все работает. Начал переносить на modx — карусель работать перестала.
Привожу исходник карусели:
<section id="showcase">
    <div id="myCarousel" class="carousel slide" data-ride="carousel">
      <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
        <li data-target="#myCarousel" data-slide-to="2"></li>
      </ol>
      <div class="carousel-inner">
        <div class="carousel-item carousel-image-1 active" style="background-image: url('/assets/img/image1.jpg');">
          <div class="container">
            <div class="carousel-caption d-none d-block text-right mb-5">
              <h1 class="display-3">Heading One</h1>
              <p class="lead">Lorem ipsum dolor sit amet consectetur adipisicing elit. Iste, aperiam vel ullam deleniti reiciendis ratione
                quod aliquid inventore vero perspiciatis.</p>
              <a href="#" class="btn btn-danger btn-lg">Sign Up Now</a>
            </div>
          </div>
        </div>

        <div class="carousel-item carousel-image-2" style="background-image: url('/assets/img/image2.jpg');">
          <div class="container">
            <div class="carousel-caption d-none d-block mb-5">
              <h1 class="display-3">Heading Two</h1>
              <p class="lead">Lorem ipsum dolor sit amet consectetur adipisicing elit. Iste, aperiam vel ullam deleniti reiciendis ratione
                quod aliquid inventore vero perspiciatis.</p>
              <a href="#" class="btn btn-primary btn-lg">Learn More</a>
            </div>
          </div>
        </div>

        <div class="carousel-item carousel-image-3" style="background-image: url('/assets/img/image3.jpg');">
          <div class="container">
            <div class="carousel-caption d-none d-block text-right mb-5">
              <h1 class="display-3">Heading Three</h1>
              <p class="lead">Lorem ipsum dolor sit amet consectetur adipisicing elit. Iste, aperiam vel ullam deleniti reiciendis ratione
                quod aliquid inventore vero perspiciatis.</p>
              <a href="#" class="btn btn-success btn-lg">Learn More</a>
            </div>
          </div>
        </div>
      </div>

      <a href="#myCarousel" data-slide="prev" class="carousel-control-prev">
        <span class="carousel-control-prev-icon"></span>
      </a>

      <a href="#myCarousel" data-slide="next" class="carousel-control-next">
        <span class="carousel-control-next-icon"></span>
      </a>
    </div>
  </section>
Так выглядит скрипт:
$('.carousel').carousel({
      interval: 3000,
      keyboard: true,
      pause: 'hover',
      wrap: true
    });


    $('#myCarousel').on('slide.bs.carousel', function () {
      console.log('SLIDE!');
    });

    $('#myCarousel').on('slid.bs.carousel', function () {
      console.log('SLID!');
    });
Sergey
23 марта 2020, 14:23
modx.pro
780
0

Разбивка документов по категориям?

Здравствуйте!
Подскажите, как поделить документы на группы по категории и поместить их в общий чанк?
Если поместить в чанк второй вызов pdoresources — выводится как надо, но этот вариант создает слишком много запросов.

Основная категория 1
--Категория-1
---Событие-1
---Событие-2
---Событие-3

Основная категория 1
--Категория-2
---Событие-6
---Событие-7

Основная категория 2
--Категория-3
---Событие-8
---Событие-9

Нашел похожее решение у Ильи ilyaut.ru/cheats/a-breakdown-of-the-categories-parents/, но мне нужно документы поместить в общий чанк.

Александр
23 марта 2020, 13:46
modx.pro
679
0

Мультивалютность

Доброго времени суток.
В общем, реализую портал для агенства недвижимости. Просто не расурсах, бес использования минишопа.
Стоит задача реализовать мультивалютность(6 валют).
У меня два варианта:
А. Хранить актуальные курсы валют в системных настройках и рассчитывать стоимость в определенной валюте из исходной цены при парсинге страницы.
Б. Создать для каждой валюты тв поле и выводить оттуда.
Также на странице листинга используются фильтры. Придется адаптировать одно из этих решений там.

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

Спасибо за советы.
Ибраим Велиев
23 марта 2020, 00:32
modx.pro
720
0

xPoller2 некорректно считает опросы

Приветствую! Вывожу на странице пару форм-опросников, кол-во результатов неправильно подсчитывается, допустим в админ-панели я вижу что за вариант 1 проголосовало 2, а когда кликаю по этому варианту то на сайте выводится уже 5, или 7, вообщем рандомное число, которое заносится и в админ-панель. Использую следующие чанки вывода:
tpl.xPoller2.form.outer
<div id="xPoller2-[[+id]]">
<form role="form" action="[[~[[*id]]]]" method="post" class="xPolls rs-polling-box">
    	<h3>[[+text]]</h3>
  <input type="hidden" value="[[+id]]" name="qid">
  [[+options]]
  <button type="submit" name="xp_action" value="answer" class="btn btn-primary mb-2">Голосовать</button>
  <button type="submit" name="xp_action" value="abstain" class="btn btn-default mb-2">Воздержаться</button>
</form>
</div>
tpl.xPoller2.result.outer
<div class="rs-polling-box">
    <h3>[[+text]]</h3>
    [[+options]]
</div>
Сайт на который поставил этот плагин.
Roman
22 марта 2020, 13:09
modx.pro
719
0