Переменная из функции

Статус
В этой теме нельзя размещать новые ответы.

monah

Гуру форума
Регистрация
21 Мар 2009
Сообщения
170
Реакции
60
добрый....
есть функция для личных сообщений (osclss) в одном файле
PHP:
function osclass_pm_admin_menu() {
       $newPMs = ModelPM::newInstance()->getRecipientMessages(0, 1, 1, 'pm_id', 'DESC');
       $newPMdrafts = ModelPM::newInstance()->getDrafts(0, 'pm_id', 'DESC');
       $countPMs = count($newPMs);
       $countPMdrafts = count($newPMdrafts);

           echo '<h3><a href="#">' . pmAdmin() . __('\'s PM Box','osclass_pm') .  ' (' . $countPMs . ' ' . __('New','osclass_pm') .')</a></h3><ul>';

           echo '<li class="" ><a href="' . osc_admin_render_plugin_url('osclass_pm/admin-inbox.php') . '" > &raquo; '. __('Inbox', 'osclass_pm') . ' (' . $countPMs . ')</a></li>';
           if(pmDrafts()){
           echo '<li class="" ><a href="' . osc_admin_render_plugin_url(osc_plugin_folder(__FILE__) . 'admin-drafts.php') . '" >' . __('Drafts', 'osclass_pm') . ' (' . $countPMdrafts . ')</a></li>';
           }
           echo '<li class="" ><a href="' . osc_admin_render_plugin_url('osclass_pm/admin-outbox.php') . '" >&raquo; ' . __('Outbox', 'osclass_pm') . '</a></li>';
           echo '</ul>';
           echo '<h3><a href="#">' . __('OSClass PM Settings', 'osclass_pm') . '</a></h3><ul>';

           echo '<li class="" ><a href="' . osc_admin_render_plugin_url('osclass_pm/admin.php') . '" > &raquo; '. __('Configure', 'osclass_pm') . '</a></li>' .
           '<li class="" ><a href="' . osc_admin_render_plugin_url('osclass_pm/help.php') . '" >&raquo; ' . __('F.A.Q. / Help', 'osclass_pm') . '</a></li>';
           echo '</ul>';
    }
мне отсюда надо count($newPMs);
в другом файле я вставил
PHP:
 <span><?php echo '<a class="list-group-item" href="' . osc_render_file_url('index.php?page=custom&file=osclass_pm/user-inbox.php') . '" >' . __('Inbox', 'osclass_pm') . ' (' . count($newPMs) . ')</a>'; ?></span>
но count($newPMs) не забирает ифнормацию(((
подскажите что делать?
 

Вложения

  • index.zip
    4,7 KB · Просмотры: 3
И не заберётся, переменные объявленные внутри функции, вне этой функции видны не будут, если не предпринять определённых действий, о которых я вам не скажу, чтобы не было потом плохого кода :)

Правильный подход - создать еще одну функцию:
PHP:
# наверное этот код стоит вставить в тот-же файл где объявлена osclass_pm_admin_menu()
function count_newPMs() {
       $newPMs = ModelPM::newInstance()->getRecipientMessages(0, 1, 1, 'pm_id', 'DESC');
       return count($newPMs);
}
В вывод добавляете count_newPMs()
PHP:
 <span><?php echo '<a class="list-group-item" href="' . osc_render_file_url('index.php?page=custom&file=osclass_pm/user-inbox.php') . '" >' . __('Inbox', 'osclass_pm') . ' (' . count_newPMs() . ')</a>'; ?></span>
 
PHP:
function count_newPMs() {
       $newPMs = ModelPM::newInstance()->getRecipientMessages(osc_logged_user_id(), 1, 1, 'pm_id', 'DESC');
         $countPMs = count($newPMs);
        return count($newPMs);
}
вот так заработало))))
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху