اضافه کردن تصویر پس زمینه مختلف برای هر پست

سلام دوستان
پست های ارسالی در جوملا هم مانند ورد پرس دارای ID هستن
من می خوام پس زمینه عنوان پستم برای هر آی دی فرق کنه


برای وردپرس این راه حل داده شده
[h=2]----------------------------------[/h]
گاهی وقتها دوست دارین عکس هایی رو به عنوان پس زمینه برای هر پست در وردپرس ( تک نوشته ) قرار بدین و یا رنگ پس زمینه نیز تغییر بدین . این کارها از طریق دستکاری در CSS شدنی نیز هست.
اما در اینجا من می خواهم به شما روش بسیار ساده رو پیشنهاد بدم :
کد زیر رو در فایل single.php درون حلقه قرار بدین :

if(is_single('17')){ //وقتي پست با آيدي 17 فراخونده ميشود . echo "<style> body{ background: #000 url(images/bgbody.jpg) top center no-repeat; }</style>"; } با این روش شما می تونید تصویر پس زمینه های مختلف رو به هر پست اضافه کنین.


[h=2]----------------------------------[/h]
می خوام بدونم برای جوملا باید چه کرد؟
 

VAHID216

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

این کد رو درون header بگذارید.
کد:
<?php
$itemid = JRequest::getVar('Itemid');
  $menu = &JSite::getMenu();
  $active = $menu->getItem($itemid);
  $params = $menu->getParams( $active->id );
  $pageclass = $params->get( 'pageclass_sfx' );
?>

حالا body رو طبق کد زیر تغییر بدید

کد:
<body class='<?php echo $pageclass; ?>'>

این طوری واسه هر صفحه می بینید که کلاسش چیه و می تونید درون styles.css تصویر پس زمینه ایجاد کنید و یا حتی بیشتر.
موفق باشید
 
میشه کمی بیشتر راهنمایی کنه



دوست خوبم من زیاد متوجه نشدم

نگاه این کدی هست که در مسیر زیر هست و مربوط به عنوان پست هاست

PHP:
<?php if ($canEdit || $this->item->params->get('show_title') || $this->item->params->get('show_pdf_icon') || $this->item->params->get('show_print_icon') || $this->item->params->get('show_email_icon')) : ?>
<table class="contentpaneopen<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
<tr>
    <?php if ($this->item->params->get('show_title')) : ?>
    <td class="button round-tl-tr-l software-matte right" width="100%">
        <?php if ($this->item->params->get('link_titles') && $this->item->readmore_link != '') : ?>
        <a href="<?php echo $this->item->readmore_link; ?>" class="">
            <?php echo $this->escape($this->item->title); ?></a>
        <?php else : ?>
            <?php echo $this->escape($this->item->title); ?>
        <?php endif; ?>
    </td>
    <?php endif; ?>
</tr>
</table>
<?php endif; ?>

مسیرشم
components\com_content\views\frontpage\tmpl\default_item.php


در قسمت کد زیر
class="button round-tl-tr-l software-matte right"
در واقع software-matte کلاسی هست که در استایل من خوانده میشه و پس زمینه هست
من می خوام جای این کدی بذارم که بر اساس آی دی که می خونه کلاس مربوط به اون آی دی لود بشه
 

VAHID216

مدیر بازنشسته
ببینید اون کد هایی که دادم به شما بر اساس ID می کنه. کافیه <?php echo $pageclass; ?> توی هر کلاسی بگذارید تا بعد بتونید تغییرات رو درون CSS اعمال کنید.
طریقه کار هم به این صورته که ID اون صفحه در قسمت <?php echo $pageclass; ?> چاپ می شه که یک عدد هست. شما اون عدد رو می تونید کلاس تعریف کنید در CSS به همین راحتی .
موفق باشید
 

جدیدترین ارسال ها

بالا