راه حل پیشنهادی شما توی لینکی که گذاشتم اومده ولی برای من جواب نداد.
کد من همچین چیزیه:
بعد توی یکی از ماژولهای جوملا همچین اسکریپتی دارم که مقدار msg رو از توی نشست جوملایی می خونه و اگه مقدار داشت ازش استفاده می کنه:کد:<?php //اینجا متغیر خودمو بررسی می کنم که ست شده یا خیر //اگه ست نشده باشه میره سراغ جوملا و اگه ست شده باشه اسکریپتی که خودم نوشتم اجرا می شه if (!isset($_SESSION['started'])) { $started = $_SESSION['started']; // Set flag that this is a parent file. define('_JEXEC', 1); define('DS', DIRECTORY_SEPARATOR); if (file_exists(dirname(__FILE__) . '/defines.php')) { include_once dirname(__FILE__) . '/defines.php'; } if (!defined('_JDEFINES')) { define('JPATH_BASE', dirname(__FILE__)); require_once JPATH_BASE.'/includes/defines.php'; } require_once JPATH_BASE.'/includes/framework.php'; // Mark afterLoad in the profiler. JDEBUG ? $_PROFILER->mark('afterLoad') : null; // (۱) // ست کردن مقدار در نشست جوملایی if(isset($started)) { $session =& JFactory::getSession(); $session->set( 'started', $started ); } // Instantiate the application. $app = JFactory::getApplication('site'); // Initialise the application. $app->initialise(); // Mark afterIntialise in the profiler. JDEBUG ? $_PROFILER->mark('afterInitialise') : null; // Route the application. $app->route(); // Mark afterRoute in the profiler. JDEBUG ? $_PROFILER->mark('afterRoute') : null; // Dispatch the application. $app->dispatch(); // Mark afterDispatch in the profiler. JDEBUG ? $_PROFILER->mark('afterDispatch') : null; // Render the application. $app->render(); // Mark afterRender in the profiler. JDEBUG ? $_PROFILER->mark('afterRender') : null; // Return the response. echo $app; } else // اگه مقدار گرفته باشه این کار رو انجام بده { // (۲) $_SESSION['started'] = 1; echo "started!"; } ?>
اما مشکل اینه که توی ماژول (یعنی همین کد آخری) همواره "ست نشده" باقی می مونه!کد:<?php defined('_JEXEC') or die; JHtml::_('behavior.keepalive'); define('_JEXEC', 1); define('DS', DIRECTORY_SEPARATOR); $session =& JFactory::getSession(); $started = $session->get( 'started' ); if(isset($started)) { switch ($started) { case 1: // some code break; case 2: // some code else break; case 3: // another some code break; default: // Do nothing } } // و ادامه اسکریپت ... ?>





علاقه مندی ها (Bookmarks)