Тема: Модуль "Подписки"

Добрый день!

В общем начал использовать эту cms, и столкнулся с некоторыми вопросами:

1. Установил модуль, натыкал все галочки, появилась кнопочка подписаться на блог, при клике на которую получаю сообщение http://sm.loc/ http://sm.loc/ Mon, 05 Jan 2015 08:37:29 GMT   http://sm.loc/homepage http://sm.loc/homepage    Страница на стадии разработки. Это так задумано?

2. Я так понял что бы оно работало нужно создавать для него виджет? Если да то как или где об этом почитать? В разделе список виджетов - > создать виджет - > тип модуль не наблюдаю такого.

3. Немного узковат функционал для хотелось бы расширить до вот такого,

I. САЙТ
    1. Модуль подписки
        Данные:
            - Имя
            - Email
            - Код авторизации
        События:
            - Генарция кода автогризации       
            - Добавить в БД       
    2. Закрытый раздел
        Данные:
            - Email
            - Код для авторизации
        События:
            - Авторизация
II. Админка
    3. Компонент подписчики
        Данные:
            - Имя
            - Email
            - Код авторизации
            - Новый пользователь
        События:
            - Добавить
            - Удалить
            - Изменить
            - Просмотреть
    4. Компонент шаблоны сообщений
        Данные:
            - Название
            - Статус
            - header
            - footer
            - body
            - код авторизации
        События:
            - Добавить
            - Удалить
            - Изменить
            - Просмотреть
    4. Компонент рассылки
        а) Рассылка
            Данные:
                - Подписчики
                - Шаблоны
            События:
                - Отправить
        b) Журнал рассылки
            Данные:
                - Подписчики
                - Шаблоны
                - Статус
    5. Компонент мероприятия
        а) Подписчики
            Данные:               
                - email
                - Имя
                - телефон
                - мероприятие
            События:
                - подписаться на мероприятия
        б) Мероприятия
            Данные:
                - Название
                - Дата проведения
                - Адрес проведения
                - Страница мероприятия
                - Статус (Закрыто/Открыта запись)
                - Какие то еще поля?       

Есть ли смысл это делать или лучше писать с нуля? smile

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

2

Re: Модуль "Подписки"

Достаточно прописать в шаблоне:

{echo $CI->load->module('mailer')->getForm ()}
Когда то разрабатывал модули для ImageCMS Corporate

3

Re: Модуль "Подписки"

Вставил но ничего не происходит.

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

4

Re: Модуль "Подписки"

Игорь пишет:

Вставил но ничего не происходит.

Проверьте в Админпанель, что модулю дан URL доступ, если все сделали правильно и прописали модуль к примеру в main.tpl - все должно выводиться!

Когда то разрабатывал модули для ImageCMS Corporate

5

Re: Модуль "Подписки"

Да действительно все работает.

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

6

Re: Модуль "Подписки"

Вопрос организационного характера!

Пишу модуль, все той же подписки.

есть 2 файла subscribes и admin

В файле admin у меня все функции связанные с добавление и удалением и т.п., в для админки естественно, в файле subscribes  у меня хранится функция для отображения модуля на фронтенде, естественно функции которые обращаются к модели тоже там.

Я так понимаю так и должно быть?

Или же должен быть еще 1 файлик типа public?

Или же еще какой то?

Если да то как к нему обращаться со стороны фронтенда. если для получения данных из главного файла модуля делаем так:

{$signed = $CI->load->module('subscribes')->getSigned($user_id)}

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

7 Отредактировано Sempai (13-01-2015 20:02:37)

Re: Модуль "Подписки"

Естественно вы обращаетесь только к subscribes и admin. Если необходимо организовать вывод формы, то нужно создать эту форму. К примеру создаем форму для Фронтэнда: 

ваш модуль/templates/form.tpl

в функции getSigned($user_id)} прописываем вывод этой формы:

function getSigned($user_id)
    {    
    $this->template->add_array('здесь массив, который необходимо вывести в форме');
    $this->display_tpl('form');
    }

Описываем функцию вывода:

private function display_tpl($file = '') {
        $file = realpath(dirname(__FILE__)) . '/templates/' . $file;
        $this->template->show('file:' . $file);
    }

при запросе типа {echo $CI->load->module('subscribes')->getSigned($user_id)}
получим вывод нашей формы.

В этой же форме вы можете прописать post или get запросы, для отправки данных с Фронтэнда.
(не забывайте описывать эти функции в subscribes.php)
Успехов!

Когда то разрабатывал модули для ImageCMS Corporate

8

Re: Модуль "Подписки"

Спасибо Sempai , я так и сделал просто хотел спросить верно или нет.

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

9

Re: Модуль "Подписки"

Привет!


Вот штука какая

Вывожу превью статей в виде блога:


{foreach $pages as $page}
                            <li>
                                <span class="date">{date('d.m.Y',$page.publish_date)}</span>
                                <h2><a href="{site_url($page.full_url)}">{$page.title}</a></h2>
                                {$page.prev_text}<br/>
                                {$page.field_time_event}<br/>
                                {$page.field_preview_img_event}<br/>
                                {$page.field_date_event}<br/>

                                {echo $CI->load->module('subscribes')->btnSubscribeEvent()->setData()}

                            </li>
                        {/foreach}

в каждом из описания добавляю форму из модуля

{echo $CI->load->module('subscribes')->btnSubscribeEvent()->setData()}

Сама форма

{$user_id = $CI->dx_auth->get_user_id()}

<input onchange="add_event.subscribeToEvent('{$BASE_URL}subscribes/subscribeToEvent', {$user_id})"  type="checkbox" name="event" id="event" value=""/>

<br/>
<br/>

Как мне в модель передать переменную $page.id, есть что ни-будь типа setData ?

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

10

Re: Модуль "Подписки"

На странице

{echo $CI->load->module('subscribes')->btnSubscribeEvent($page.id)}

В функции

public function btnSubscribeEvent ($page_id='') {
передаем переменную в модель
}
Когда то разрабатывал модули для ImageCMS Corporate

11

Re: Модуль "Подписки"

Спасибо, понял. Думал может есть другой какой то способ.

« Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше ... »

Re: Модуль "Подписки"

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

Thumbs up Thumbs down

13

Re: Модуль "Подписки"

Евгений Рыбчак пишет:

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

Вставьте строку

{echo $CI->load->module('mailer')->getForm ()}

в main.tpl (главная) и page_full.tpl (вывод статьи) в необходимых местах и будет вам счастье)

Thumbs up Thumbs down