PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تعریف گرافیک برای یک موقعیت جدید



خوانساری
12-22-2012, 10:30 AM
با سلام و درود

دوستان، من یک سوال در مورد تخصیص یک گرافیک به یک موقعیت ایجاد شده دارم که شاید جواب آن برای بسیاری از کاربران جوملا مهم باشد.

سوال: یک موقعیت جدید با نام banner15 را با تغییر در فایل های templateDetails و index موجود در قالب ایجاد کردم. این موقعیت از خواص از پیش تعریف شده در قالب استفاده می کند، و من قصد دارم به جای این خواص، یک خاصیت جدید را تعریف کنم و برای این موقعیت ایجاد شده (banner15) در نظر بگیرم. برای این کار در فایل css یک خاصیت با عنوان block15 ایجاد کردم و در فایل modules موجود در پوشه ی html در بخش تعریف استایل
'block15' => 'modChrome_artblock15',
را نوشتم. بعد از آن modChrome_artblock15 را بصورت زیر تعریف کردم
function modChrome_artblock15($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content,
$params->get('artx-module-classes'));
}





موارد گفته شده تا اینجا را بنا بر دانش فنی انجام نداده ام و تنها با دیدن کدهای موجود در قالب صورت گرفته است. درنتیجه امکان دارد که مراحل را اشتباه انجام داده باشم.

1) لطفا درست یا اشتباه بودن موارد بالا را بگید.
2) موقعیت ایجاد شده هنوز از خواص یک موقعیت دیگر استفاده می کند، و زمانی که echo artxBlock را تغییر می دهم، عناصر موجود در موقعیت ایجاد شده نمایش داده نمی شوند.

خوانساری
12-22-2012, 12:26 PM
از دوستان کسی نبود که جواب سوال بالا رو بده؟


این هم تغییراتی که برای تخصیص یک استایل در فایل css انجام داده ام.

/* begin Box, Block15 */
.block15
{
max-width:972px;
margin: 5px;
}
.block15-body
{
padding:7px 5px 10px 5px;
}
.block15:before, .joominablock:after
{
content: url('../images/block_t.png');
font-size: 0;
background-image: url('../images/block_b.png');
}
.block15:after{
clip:rect(auto, auto, auto, 965px);
}
.block15:before,.block15-body:before{
right:7px;
}
.block15-body:after{
width: 7px;
top:7px;
bottom:6px;
background-image:url('../images/block1.png');
}
.block15-body:before{
top:7px;
bottom:6px;
background-image:url('../images/block1.png');
}


div.block15 img
{
/* WARNING do NOT collapse this to 'border' - inheritance! */
border-width: 1px;
border-color: #C7C7C7;
border-style: solid;
margin: 0px;
}


/* end Box, Block15 */


و این هم تغییراتی که در فایل index داده ام:
echo $view->positions(array('banner15' => 25,'banner16' => 50, 'banner17' => 25),'block15');


و این هم تغییراتی که در فایل templateDetails.xml داده ام:
<position>banner15</position>
<position>banner16</position>
<position>banner17</position>



و این هم تغییراتی که در فایل
modules داده ام:
'block15' => 'modChrome_artblock15',
را نوشتم. بعد از آن modChrome_artblock15 را بصورت زیر تعریف کردم
function modChrome_artblock15($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content,
$params->get('artx-module-classes'));
}

shmata
12-22-2012, 05:47 PM
لطفا برای قرار دادن کد در پست ها تون از تگ code استفاده کنید. اگر برروی دکمه صفحه پیشرفته کلیک کنید این دکمه مشخص میشه .
منظورتون رو از


تخصیص یک گرافیک به یک موقعیت ایجاد شده

متوجه نمیشم اگر بیشتر توضیح بدید حتما میتونیم کمک تون کنیم.

خوانساری
12-22-2012, 06:55 PM
منظورم این است که به طور مثال بتوان برای عنوان عناصری(ماژول هایی) که در یک موقعیت مثلا banner15 قرار می گیرند، از طریق css گرافیک (عکس، حاشیه و...) در نظر گرفت.

شاید بتوان برای مثال به بخش سمت چپ و راست سایت اشاره کرد، شما هر زمان ماژولی را در این موقعیت ها قرار می دهید در زمان نمایش عنوان، عنوان این ماژول با یک تصویر و یا حاشیه(بنا بر طراحی سایت) نمایش داده می شود.

sahama
12-22-2012, 07:01 PM
با سلام
آدرس سایتتون رو بفرمایید

خوانساری
12-22-2012, 07:10 PM
سایت در لوکال نصب شده