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

core/AdvertisementLocations

Что делает расширение

Расширение AdvertisingLocations позволяет вам определять местоположения и настройки для рекламных объявлений, чтобы вы могли вставлять рекламные объявления в определенных местах вашего приложения. Например, приложение Форумы использует это расширение для показа объявлений после первого сообщения в теме и в списке тем.

Как использовать

При создании нового экземпляра этого расширения приложения, вам нужно будет определить два метода (которые уже будут определены шаблонно, если вы используете Центр разработчика для создания расширения).

	/** 
     * Get the locations and the additional settings
     *
     * @param    array    $settings    Current setting values
     * @return    array    Array with two elements: 'locations' which should have keys as the location keys and values as the fields to toggle, and 'settings' which are additional fields to add to the form
     */
    public function getSettings( $settings )

Метод getSettings принимает один параметр (массив) и должен вернуть массив с двумя элементами. Первый, с ключом 'locations', должен быть массивом с ключами, которые вы определили для расположения рекламных объявлений, и значения должны быть массивом ключей настроек для использования этих местоположений.

Первый, с ключевыми «местоположениями», должен быть массивом с его ключами, которые являются определяющими вами ключами местоположения рекламы, а значениями являются массив ключей настройки для использования для местоположения. Второй элемент должен использовать ключ 'settings' и определять массив объектов помощника форм. Например:

/** 
     * Get the locations and the additional settings
     *
     * @param    array    $settings    Current setting values
     * @return    array    Array with two elements: 'locations' which should have keys as the location keys and values as the fields to toggle, and 'settings' which are additional fields to add to the form
     */
    public function getSettings( $settings )
    {
        return array(
            'locations' => array( 'ad_fluid_index_view' => array( 'ad_fluid_index_view_number', 'ad_fluid_index_view_repeat' ) ),
            'settings'  => array(
                new \IPS\Helpers\Form\Number( 'ad_fluid_index_view_number', ( isset( $settings['ad_fluid_index_view_number'] ) ) ? $settings['ad_fluid_index_view_number'] : 0, FALSE, array(), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('ad_fluid_index_view_number_suffix'), 'ad_fluid_index_view_number' ),
                new \IPS\Helpers\Form\Number( 'ad_fluid_index_view_repeat', ( isset( $settings['ad_fluid_index_view_repeat'] ) ) ? $settings['ad_fluid_index_view_repeat'] : 0, FALSE, array( 'unlimited' => -1 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('ad_fluid_index_view_repeat_suffix'), 'ad_fluid_index_view_repeat' )
            )
        );
    }

Второй метод в этом файле это parseSettings(), который является обратным вызовом, позволяющим настраивать значения параметров, которые сохраняются во время настройки администратором. Если настроек нет, этот метод должен просто вернуть пустой массив.

/** 
     * Return an array of setting values to store
     *
     * @param    array    $values    Values from the form submission
     * @return    array     Array of setting key => value to store
     */
    public function parseSettings( $values )
    {
        return array(
            'ad_fluid_index_view_number' => $values['ad_fluid_index_view_number'],
            'ad_fluid_index_view_repeat' => $values['ad_fluid_index_view_repeat']
        );
    }

Затем вы можете использовать рекламное объявление в отображении с использованием loadByLocation метода \IPS\core\Advertisement. Например:

	{{if $advertisement = \IPS\core\Advertisement::loadByLocation( 'ad_fluid_index_view' )}}
            {$advertisement|raw}
        {{endif}}

 




×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности