• Есть ли готовое решение для создания сайта с подписками с оплатой в личном кабинете?

    @zikkuratvk
    Занимаюсь веб-разработкой
    Joomla + RD-Subscriptions https://rd-media.org/joomla-subscriptions-manageme...
    Ну либо любое другое решение по подпискам https://extensions.joomla.org/tags/membership-subs...
    Их для Joomla несколько десятков.
    Ответ написан
    Комментировать
  • Нужно ли хранить путь к картинке в БД?

    php666
    @php666
    PHP-макака
    Все имена файлов загружаем как хэш от md5 - нет ни одной причины их называть человекопонятными именами.

    Имея имя файла делаем разграничитель директорий. Например, файл называется cc49db9055039eacc73d46d10af535cc.jpeg
    Соответствунно делаем директории (если они еще не созданы) при загрузке файла - /i/800x800/c/c/4/
    Последние 3 директории - создаются автоматом при сохранении изображения. Соответсвуют первым трем буквам имени файла.

    В базе храним так:
    ID записи картинки
    ID сущности
    cc49db9055039eacc73d46d10af535cc.jpeg - имя файла
    2018-10-31 12:03:27 - дата загрузки

    По имени файла всегда можно получить путь:

    <?php
    class DirectoryGenerator
    {
        /**
         * Имя файла.
         *
         * @var string
         */
        private $file_name;
    
        /**
         * Глубина создаваемой вложенности директорий.
         * @var int
         */
        private $depth = 3;
    
        /**
         * DirectoryGenerator constructor.
         *
         * @param string $file_name имя файла
         */
        public function __construct(string $file_name)
        {
            if (!strlen($file_name)) {
                throw new \InvalidArgumentException(__METHOD__ . ': Указан параметр нулевой длинны');
            }
    
            $this->file_name = $file_name;
        }
    
        /**
         * Создает директории (если они ещё не созданы) на основе имени файла
         * (например, d2d8f9c20083bd8483ac5d5526f923b9.jpeg) и возвращает путь.
         *
         * @param string $destinationDir директория назначния
         * @return string путь, например: i\700x600\d\2\d\
         */
        public function create(string $destinationDir): string
        {
            $destinationDir = rtrim($destinationDir, '\/');
    
            for ($i = 0; $i < $this->depth; $i++) {
                $destinationDir .= DIRECTORY_SEPARATOR . $this->file_name[$i];
    
                if (!is_dir($destinationDir)) {
                    if (!mkdir($destinationDir, 0775)) {
                        throw new \RuntimeException(__METHOD__ . ': Не удалось создать директорию ' . $destinationDir);
                    }
                }
            }
    
            return $destinationDir . DIRECTORY_SEPARATOR;
        }
    
        /**
         * На основе имени файла (например, d2d8f9c20083bd8483ac5d5526f923b9.jpeg)
         * возвращает путь к файлу для HTTP, вида /d/2/d/8/f/.
         *
         * @todo переименовать, название не отражает сути
         * @return string HTTP-путь к файлу
         */
        public function getHttpPath(): string
        {
            $destinationDir = '';
    
            for ($i = 0; $i < $this->depth; $i++) {
                $destinationDir .= '/' . $this->file_name[$i];
            }
    
            return $destinationDir . '/';
        }
    }
    Ответ написан
    Комментировать
  • Joomla или Wordpress?

    Starina_js
    @Starina_js
    full-stack web dev
    А на чем система объявлений построена?

    Вообще лучше просто обновить систему.
    Комменты, интеграции с соц сетями другие расширения есть в магазине от Joomla. Есть бесплатные, есть платные. Как и у WP. На github всего полно. Плюс joomlaforum вам поможет, если что не так.

    1. Встроенный редактор вполне себе хороший, да и можно настроить под себя. Или вообще отключить, кому как удобно.
    Если этого мало, то вот еще редакторы — https://extensions.joomla.org/tags/editors/
    2. По поводу получить статьи автора. Вы про выборку прямо в админке? Так вот скрин 5c60179e5115a220012575.png
    Если разговор про фронт, то тоже можно сделать фильтрацию по авторам прямо в админке, без того что бы лезть в код. Да и вообще в админке много настроек по фильтрациям контента. Не надо никуда в код лезть.
    3. Понятные переопределения шаблонов сайта. Все хранится в одной папке в шаблоне в понятной структуре. Сами макеты подключается в админке. Не надо искать по всему шаблону нужный файл перебирая все подключения.
    4. Если что-то нужно по SEO для админки, то есть расширения. Как собственно и в WP. Плюс в Joomla вся разметка под SEO уже из коробки (зависит от шаблона).
    5. Наконец Жжумла развивается. В последней ветке из коробки появились поля, которые создаются прям в админке.
    В планах выпуск Joomla 4 . Вот концепт админки https://magazine.joomla.org/item/3289-episode-iv-a...
    Ответ написан
    4 комментария
  • Joomla или Wordpress?

    progreccor
    @progreccor
    php,html, css developer
    Популярность - не значит лучший выбор.
    Wordpress - это старая архитектура и набор уязвимостей. Это нерешаемые проблемы с нагрузкой на сайт.
    В вашем случае оптимальное решение - обновиться до последней версии джумлы и обновить все расширения.
    Сейчас джумла активно развивается в правильном направлении. В частности начиная с 3.7 вводятся namespaces php.
    Ответ написан
    3 комментария