Úprava souboru v PHP - kontrola zápisu

Joom
07. bře 2019 15:07 #139360
Ahoj, najde se někdo kdo by mi poradil s úpravou souboru v PHP? Snažím se zveřejnit komentáře, ale mám to asi špatně zapsané. Děkuji moc za radu.
defined('_JEXEC') or die;

JHtml::stylesheet('modules/'.$module->module.'/assets/css/slider.css');
if( !defined('SMART_JQUERY') && $params->get('include_jquery', 0) == "1" ){
	JHtml::script('modules/'.$module->module.'/assets/js/jquery-1.8.2.min.js');
	JHtml::script('modules/'.$module->module.'/assets/js/jquery-noconflict.js');
	define('SMART_JQUERY', 1);
}
JHtml::script('modules/'.$module->module.'/assets/js/slider.js');
JHtml::script('modules/'.$module->module.'/assets/js/jquery.cj-swipe.js');

ImageHelper::setDefault($params);
$options = $params->toObject();
$tag_id ='sj_k2_slider_'.rand().time();

$auto_play = (int)$params->get('play',1);
$delay = (int)$params->get('delay',2500);
if($auto_play == 1 || ($auto_play == 1 && $delay <= 0) ){
	$delay = ($delay > 0)?$delay:2500;
}else if($auto_play == 0){
	$delay = 0;
}
$effect = $params->get('effect');	


if(!empty($list)){?>
	<?php if(!empty($options->pretext)) { ?>
		<div class="pre-text"><?php echo $options->pretext; ?></div>
	<?php } ?>
	<div id="<?php echo $tag_id; ?>" class="sj-k2-container-slider" style="<?php if( $options->anchor == "bottom" ){ echo "margin-bottom:40px;"; }?>">
			<?php if(($options->title_slider_display == 1) && $options->slider_title_text !=''){?>
				<div class="page-title"><?php echo $options->slider_title_text;?></div>
			<?php }?>
			
			<?php if($options->anchor =="top"){?>
			<?php if($options->button_display == 1){?>
			<div class="page-button <?php echo $options->anchor;?> <?php echo $options->control;?>">
				<ul class="control-button preload">
					<li class="preview"><i class="fa fa-angle-left"></i></li>
					<li class="next"><i class="fa fa-angle-right"></i></li>
				</ul>		
			</div>
			<?php }}?>
		
		<?php 
		$count_items = count($list);
		
		if($options->deviceclass_sfx1 > $count_items){
			$options->deviceclass_sfx1 = $count_items;
		}
		
		if($options->deviceclass_sfx2 > $count_items){
			$options->deviceclass_sfx2 = $count_items;
		}
		
		if($options->deviceclass_sfx3 > $count_items){
			$options->deviceclass_sfx3 = $count_items;
		}
		
		if($options->deviceclass_sfx4 > $count_items){
			$options->deviceclass_sfx4 = $count_items;
		}
		
		if($options->deviceclass_sfx5 > $count_items){
			$options->deviceclass_sfx5 = $count_items;
		}
		
		$deviceclass_sfx = 'preset01-'.$options->deviceclass_sfx1.' '.'preset02-'.$options->deviceclass_sfx2.' '.'preset03-'.$options->deviceclass_sfx3.' '.'preset04-'.$options->deviceclass_sfx4.' '.'preset05-'.$options->deviceclass_sfx5;
		
		?>
		<div class="slider not-js cols-6 <?php echo $deviceclass_sfx; ?>">
			<div class="vpo-wrap">
				<div class="vp">
					<div class="vpi-wrap">
					<?php foreach($list as $item){?>
						<div class="item">
							<div class="item-wrap">							
							<?php 
								

								$img = SjK2SliderHelper::getK2Image($item, $params);					
								$img = ImageHelper::init($img)->src();							
								//v/ar_dump($img);die;
								//$img = (strpos($img,'http://') !== false || strpos($img,'https://') !== false)?$img:(JURI::root().$img);
							
								if($img){
									 ?>
									
									<div class="item-img item-height">
										<div class="item-img-info">
											<a href="<?php echo $item->link;?>"  <?php echo  SjK2SliderHelper::parseTarget($options->item_link_target);?>>
												<img alt="<?php echo $item->displaytitle;?>" src="<?php echo $img;?>"/>	
											</a>
										</div>
									</div>
								<?php } ?>
									
								<div class="item-info <?php if( $options->theme == "theme2" ){ echo "item-spotlight"; }?> ">
									<div class="item-inner">
									<?php if($item->displaytitle != '') { ?>
										<div class="item-title">
											<a href="<?php echo $item->link;?>" title="<?php echo $item->displaytitle; ?>"  <?php echo  SjK2SliderHelper::parseTarget($options->item_link_target);?>>
												<?php echo $item->displaytitle;?>
											</a>
										</div>
									<?php }?>
										<div class="item-content">
				
											<?php if($item->tags !=''){?>
												<div class="tags">
													<?php $i = -1; foreach ($item->tags as $tag): $i++; ?>
													<span class="tag-<?php echo $tag->id.' tag-list'.$i; ?>">
														<a class="label label-info" href="<?php echo $tag->link; ?>" title="<?php echo $tag->name; ?>" target="_self"><?php echo $tag->name; ?></a>
													</span>
													<?php endforeach; ?>
												 </div>					
											<?php }	?>
											<div class="m-info"><?php if((int)$params->get('item_created_display',1)) { ?>
												<div class="item-created">
                                                    <i class="fa fa-clock-o"></i>
													<?php echo  JHTML::_('date', $item->created,JText::_('F d, o')) ;?>
												</div>
										
								    
									<?php } else { ?> 									
                                  
                                    <?php if($params->get('itemCommentsCounter',1) == 1) {?>
                                      	<span class="item-comment">
										<div class="fa fa-comments-o"></div>
                                    	<?php
											require_once(JPATH_ADMINISTRATOR . '/components/com_komento/includes/komento.php');

											$model = KT::getModel('comments');
											$count = $model->getCount('com_k2', $item0->id);

											echo $count;									 
										?> 
									</span>
						 
                 
                              
								
</div>
<?php }?>

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
07. bře 2019 15:33 #139363
Dobrý den,

to programujete v šabloně modulu?

MiniJoomla! - www.minijoomla.org - eshop s rozšířením
Virtuemart Mailing Manager - aplikace na správu šablon emailů pro VirtueMart
XML Easy Feeder - aplikace na generování feedů, napojení na ERP pro VirtueMart
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla!

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Joom
07. bře 2019 16:06 - 07. bře 2019 16:27 #139365
Pouze upravuji modul pro K2 a nezobrazují se mi správně počty komentářů (itemCommentsCounter). Respektive nezobrazují se vůbec. Můžete pomoci s kontrolou? Děkuji.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Joom
08. bře 2019 12:06 - 08. bře 2019 12:07 #139376
Ahoj, tak se mi podařilo přijít na svou chybu. Pokud někdo používá komentáře "Komento" v modulu pro K2, tak zápis by mohl být asi takto.

<div class="m-info"><?php if((int)$params->get('item_created_display',1)) { ?>
												<div class="item-created">
                                                    <i class="fa fa-clock-o"></i>
													<?php echo  JHTML::_('date', $item->created,JText::_('F d, o')) ;?>
												</div>
                                                  <?php if($params->get('itemCommentsCounter',1) == 1) {?>
                                      	<span class="item-comment">
										<div class="fa fa-comments-o"></div>
                                    	<?php
											require_once(JPATH_ADMINISTRATOR . '/components/com_komento/includes/komento.php');

											$model = KT::getModel('comments');
											$count = $model->getCount('com_k2', $item->id);

											echo $count;									 
										?> 
									</span>
                                    <?php if($item->displayIntrotext != ''  && SjK2SliderHelper::_trimEncode($item->displayIntrotext) != '') { ?>
											
											<?php } // readmore display ?>
																
										</div>	
										
								       <?php } else { ?> 
															
</div>
<?php }?>

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.