Перейти к содержанию

Лидеры


Популярный контент

Показан контент с высокой репутацией 04.03.2019 во всех областях

  1. 2 балла
    Dmitriy427

    Создание плагина

    Человеку, похоже, хочется вставить в шаблон готовый спагетти-код и совершенно не хочется заморачиваться с ООП, и разделением логики и представления. Вобщем-то, логично будет посоветовать подойти к вопросу кардинально и пересмотреть свой выбор движка. Например в тройке инклюды в шаблон возможны. Кстати, многие разработчики, используя возможности класса ips_plugins_setup_install, даже не подозревают о возможности, а часто и необходимости удаления созданных с его помощью ресурсов (файлов, таблиц, полей, строк...), при деинсталяции плагина. Я и сам далеко не сразу узнал о файле uninstall.php создаваемом в корневой папке плагина.
  2. 1 балл
    siv1987

    Создание плагина

    Вам бы для начало структуру какого нибудь плагина разобрать, и не одного. Как вы изучаете документацию мы уже знаем по предыдущим темам. Какие вообще скобки? IPS шагнули далеко в плане инкапсуляции данных в sql запросах. Никаких особых проверок на sql инъекции не требуется, достаточно просто привести тип данных к нужному формату.
  3. 1 балл
    siv1987

    Создание плагина

    Для гостей кешируется шаблон на небольшой срок. Пару секунд абсолютно не критично и, если не ошибаюсь это время можно настроить. Инклуды это дичь, и не знаю чем это спасет ситуацю, но если так сильно хочеться можете попробовать всунуть ваш код в файле хука, отдельно от класса.
  4. 1 балл
    WaNted

    Создание плагина

    dev/setup/install.php можете там намудрить с созданием своего php-файла. Чтобы во время установки создавался файл с нужным содержимым.
  5. 1 балл
    WaNted

    Создание плагина

    Я думаю если вы выводите какие-либо статьи, 30 секунд или минута тут не критично.
  6. 1 балл
    WaNted

    Создание плагина

    Попробуйте напрямую вставить свой код в содержимое Theme Hook, где вставляли тег своего шаблона.
  7. 1 балл
    siv1987

    Member verification

    Прямые руки нынче на вес золота.
  8. 1 балл
    WaNted

    Создание плагина

    Покажите содержимое файла где формируется Ваша переменная $content.
  9. 1 балл
    WaNted

    Создание плагина

    Это не "IPS-совский" php, а шаблонизатор. Я не понимаю зачем Вам эти функции, когда содержимое уже итак выводится.
  10. 1 балл
    WaNted

    Создание плагина

    Зачем?
  11. 1 балл
    WaNted

    Создание плагина

    \IPS\Http\Request\Curl для работы с curl. Так же можете использовать напрямую функции curl_ php.
  12. 1 балл
    WaNted

    Создание плагина

    Ну а причем тут функции вывода? Получайте нужную информацию, оформляйте и все дела. <ips:template parameters="" /> {{$topics = new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'forums_topics', NULL, 'tid DESC', 10 ), '\IPS\forums\Topic' );}} <ul> {{foreach $topics as $topic}} <li> <a href='{$topic->url()}'>{$topic->title}</a> </li> {{endforeach}} </ul> Вот этот шаблон выведет вам 10 последних тем.
  13. 1 балл
    Artemka

    Member verification

    Как ты понял что он написал? Руки прямые нужно иметь чтобы получилось) не в обиду))
  14. 1 балл
    WaNted

    Создание плагина

    Хм... Зачем использовать эти функции, когда шаблон итак уже выводит своё содержимое?
  15. 1 балл
    WaNted

    Создание плагина

    Нет. А чем Вам скобочки не угодили?
  16. 1 балл
    WaNted

    Создание плагина

    Там вообще ничего не нужно городить и вообще лезть редактировать этот файл в ручную. При создании Theme Hook достаточно в содержимом указать свой шаблон типа: {template="templateName" group="plugins" app="core" location="global"} Где templateName название вашего шаблона в папке dev/html. Вот в этом шаблоне можете уже мудрить. https://invisioncommunity.com/4docs/advanced-usage/development/plugins-an-example-r72/ смотрите тут третий шаг.
  17. 1 балл
    WaNted

    Выполнение php после покупки продукта

    В таблице nexus_purchases найдите связанную покупку с ключом и посмотрите есть ли там значение ps_expire отличное от 0.
  18. 1 балл
    WaNted

    Выполнение php после покупки продукта

    Значение expire в самой строке хоть есть? Потому что в противном случае вернется NULL.
  19. 1 балл
    WaNted

    Выполнение php после покупки продукта

    /** * Get expire date * * @return \IPS\DateTime|NULL */ public function get_expire() { return ( isset( $this->_data['expire'] ) and $this->_data['expire'] ) ? \IPS\DateTime::ts( $this->_data['expire'] ) : NULL; } $this->purchase->expire возвращает объект \IPS\DateTime. Попробуйте использовать $this->purchase->expire->getTimestamp().
  20. 1 балл
    WaNted

    Выполнение php после покупки продукта

    Вы можете нормально описать что в итоге Вам нужно? Зачем Вы трогаете запрос который относится к \IPS\nexus\Purchase::tree()? Покажите весь Ваш код (именно Ваш, а не весь класс целиком). Если все Ваши изменения находятся в классе IPS\nexus\Purchase\LicenseKey, то не нужно посылать никакие запросы, информация о покупке текущего ключа находится в переменной $this->purchase. Нужное Вам значение (ps_expire - ps_start) можно получить так: $this->purchase->expire - $this->purchase->start.
×