رفتن به مطلب
petros

نمایش تاریخ شمسی بجای تاریخ میلادی در کامپوننت سمینار

پست های پیشنهاد شده

ارسال شده در (ویرایش شده)

سلام. من با کامپوننت OSG Seminar Manager 2.5.0 کار میکنم که توسط سایت جومینا هم منتشر شده. مشکلم با تاریخ رویدادهاست که کاربران می بینند. تاریخ رو بصورت میلادی نشون میده حتی با اینکه سایت رو دو زبانه کردمو و محتوای سایت فارسی تنظیم شده اند. تمام راه هایی که به فکرم می رسید رو چک کردم اما درست نشد. تصویر زمینه رو ببینید. یه فایلی توی این کامپوننت پیدا کردم تو فولدر site\libraries\fields به نام date.php . کد این فایل رو اینجا میذارم. فکر میکنم بشه از اینجا کاری کرد. اگر میشه راهنماییم کنید. ممنونم



// no direct access
defined('_JEXEC') or die('Restricted access');
jimport('joomla.utilities.date');

class CFieldsDate
{
/**
* Method to format the specified value for text type
**/
function getFieldData( $value )
{
if( empty( $value ) )
return $value;

if(! class_exists('CMFactory'))
{
require_once( JPATH_ROOT . DS . 'components' . DS . 'com_seminarman' . DS . 'libraries' . DS . 'core.php' );
}
require_once( JPATH_ROOT . DS . 'components' . DS . 'com_seminarman' . DS . 'models' . DS . 'customfields.php' );

$model =& CMFactory::getModel( 'customfields' );
$myDate = $model->formatDate($value);

return $myDate;
}

function getFieldHTML( $field , $required )
{
$html = '';

$day = '';
$month = 0;
$year = '';

if(! empty($field->value))
{
$myDateArr = explode(' ', $field->value);

if(is_array($myDateArr) && count($myDateArr) > 0)
{
$myDate = explode('-', $myDateArr[0]);

$day = !empty($myDate[2]) ? $myDate[2] : '';
$month = !empty($myDate[1]) ? $myDate[1] : 0;
$year = !empty($myDate[0]) ? $myDate[0] : '';
}
}

$months = Array(
JText::_('January'),
JText::_('February'),
JText::_('March'),
JText::_('April'),
JText::_('May'),
JText::_('June'),
JText::_('July'),
JText::_('August'),
JText::_('September'),
JText::_('October'),
JText::_('November'),
JText::_('December')
);

$class = ($field->required == 1) ? ' required' : '';
CMFactory::load( 'helpers' , 'string' );
$html .= '<div class="hasTip tipRight" style="display: inline-block;" title="' . $field->name . '::' . cEscape( $field->tips ). '">';
$html .= '<input type="textbox" size="3" maxlength="2" name="field' . $field->id . '[]" value="' . $day . '" class="inputbox validate-custom-date' . $class . '" /> ';
$html .= ' / <select name="field' . $field->id . '[]" class="select validate-custom-date' . $class . '">';

$defaultSelected = '';

//@rule: If there is no value, we need to default to a default value
if( $month == 0 )
{
$defaultSelected .= ' selected="selected"';
}
$html .= '<option value=""' . $defaultSelected . '>- ' . JText::_('COM_SEMINARMAN_CHOOSE_PLEASE') . '- </option>';

for( $i = 0; $i < count($months); $i++)
{
if(($i + 1)== $month)
{
$html .= '<option value="' . ($i + 1) . '" selected="selected">' . $months[$i] . '</option>';
}
else
{
$html .= '<option value="' . ($i + 1) . '">' . $months[$i] . '</option>';
}
}
$html .= '</select> / ';
$html .= '<input type="textbox" size="5" maxlength="4" name="field' . $field->id . '[]" value="' . $year . '" class="inputbox validate-custom-date' . $class . '" /> ';
$html .= JText::_('COM_SEMINARMAN_DAY') . ' / ' . JText::_('COM_SEMINARMAN_MONTH') . ' / ' . JText::_('COM_SEMINARMAN_YEAR');
$html .= '<span id="errfield'.$field->id.'msg" style="display:none;"> </span>';
$html .= '</div>';

return $html;
}

function isValid( $value , $required )
{
if( $required && empty($value))
{
return false;
}
return true;
}

function formatdata( $value )
{
$finalvalue = '';

if(is_array($value))
{
if( empty( $value[0] ) || empty( $value[1] ) || empty( $value[2] ) )
{
$finalvalue = '';
}
else
{
$day = intval($value[0]);
$month = intval($value[1]);
$year = intval($value[2]);

$day = !empty($day) ? $day : 1;
$month = !empty($month) ? $month : 1;
$year = !empty($year) ? $year : 1970;

$finalvalue = $year . '-' . $month . '-' . $day . ' 23:59:59';
}
}

return $finalvalue;
}
}

post-31878-0-21345100-1419501602_thumb.j

ویرایش شده توسط petros

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درود بر شما

 

منظور تاریخ پاپ آپ می باشد ؟ یا تاریخ خطی مثل 27/12/2014 ؟

 

ممنون که پاسخ دادین.

تقویمی که از طریق مدیریت سایت برای رویداد انتخاب میکنم و پاپ آپ هست مشکلی ندارد و شمسی است. اما همانطور که در شکل پیوست نشان داده ام مشکل در نحوه نمایش تاریخ برای کاربران است. که بصورت خطی است و نوشته: 22 مارس 1394

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

ایم موارد را در فایل ترجمه خودتان ترجمه کنید

JText::_('January'),
						JText::_('February'),
						JText::_('March'),
						JText::_('April'),
						JText::_('May'),
						JText::_('June'),
						JText::_('July'),
						JText::_('August'),
						JText::_('September'),
						JText::_('October'),
						JText::_('November'),
						JText::_('December')

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ارسال شده در (ویرایش شده)

 

با سلام

 

ایم موارد را در فایل ترجمه خودتان ترجمه کنید

JText::_('January'),
						JText::_('February'),
						JText::_('March'),
						JText::_('April'),
						JText::_('May'),
						JText::_('June'),
						JText::_('July'),
						JText::_('August'),
						JText::_('September'),
						JText::_('October'),
						JText::_('November'),
						JText::_('December')

 

عذرخواهی میکنم من فکر کنم باید یه مقدار بیشتر توضیح میدادم. تو قسمت مدیریت سایت من مشکلی با تاریخ ندارم و پاپ آپی که باز میشه تقویم شمسی هست. (به تصویر شماره 1 نگاه کنید) و میتونم مثلا تاریخ شروع دوره رو 10 دی 1393 انتخاب کنم.

post-31878-0-00910500-1420004490_thumb.j

 

اما تو خود سایت که کاربران نگاه می کنند تاریخ شروع و پایان دوره رو بصورتی که در شکل 2 میتونید نگاه کنید نشون می ده. یعنی بجای اینکه همون 10 دی 1393 رو نشون بده، معادل میلادیش رو به فارسی می نویسه یعنی: 31 دسامبر 2014

post-31878-0-14257400-1420004806_thumb.j

 

راه حلی که شما فرمودین فکر نمی کنم این مشکل رو برطرف کنه

ویرایش شده توسط petros

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درود بر شما

 

خب متسفانه باید افزونه را ادیت کرد. البته کاری نداره اما یکمی شاید زمان ببره(برای برسی)

در صورت تمایل با بنده در تماس باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...