2016-06-06 5 views
0

관리자 부분의 K2 항목에 대해 수동 등급을 지정하고 있습니다. 내 말 뜻을 이해하려면 image을 살펴보십시오. 나는등급 값을 가져와 K2에서 재설정하는 방법

<?php 
 
     $submittedValue = ""; 
 
     $value0 = "0.0"; 
 
     $value1 = "0.5"; 
 
     $value2 = "1.0"; 
 
     $value3 = "1.5"; 
 
\t \t $value4 = "2.0"; 
 
\t \t $value5 = "2.5"; 
 
     $value6 = "3.0"; 
 
     $value7 = "3.5"; 
 
     $value8 = "4.0"; 
 
\t \t $value9 = "4.5"; 
 
    \t \t $value10 = "5.0"; 
 

 
if (isset($_POST[ $row->id ])) { 
 
      $submittedValue = $_POST[ $row->id]; 
 
     } 
 
     ?> 
 
     <form name="ratingk2" method="post"> 
 
\t \t \t <select project="<?php echo $row->id;?>" id="<?php echo $row->id; ?>" name="<?php echo $row->id; ?>" style="width:70px;"> 
 
     <option value = "<?php echo $value0; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>0</option> 
 
     <option value = "<?php echo $value1; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>1</option> 
 
     <option value = "<?php echo $value2; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>2</option> 
 
     <option value = "<?php echo $value3; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>3</option> 
 
\t \t <option value = "<?php echo $value4; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>4</option> 
 
\t \t <option value = "<?php echo $value5; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>5</option> 
 
     <option value = "<?php echo $value6; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>6</option> 
 
     <option value = "<?php echo $value7; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>7</option> 
 
     <option value = "<?php echo $value8; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>8</option> 
 
\t \t <option value = "<?php echo $value9; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>9</option> 
 
     <option value = "<?php echo $value10; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>>10</option> 
 
     </select> 
 
     <input type="submit" name="submit" id="submit" value="Submit" /> 
 
     </form> \t \t \t \t \t 
 
\t \t \t \t \t 
 
\t <?php 
 
    $rate = $submittedValue; 
 

 
\t \t if ($rate >= 0.5 && $rate <= 5.0) 
 
\t \t { 
 
\t \t \t $db = JFactory::getDBO(); 
 
\t \t \t $userIP = $_SERVER['REMOTE_ADDR']; 
 
\t \t \t $query = "SELECT * FROM #__k2_rating WHERE itemID =".(int)$row->id; 
 
\t \t \t $db->setQuery($query); 
 
\t \t \t $rating = $db->loadObject(); 
 

 
\t \t \t if (!$rating) 
 
\t \t \t { 
 
\t \t \t \t $query = "INSERT INTO #__k2_rating (itemID, lastip, rating_sum, rating_count) VALUES (".(int)$row->id.", ".$db->Quote($userIP).", {$rate}, 1)"; 
 
\t \t \t \t $db->setQuery($query); 
 
\t \t \t \t $db->query(); 
 
\t \t \t \t echo JText::_('THANKS FOR RATING'); 
 

 
\t \t \t } 
 

 
\t \t } 
 
    ?> 
 
\t \t \t \t \t \t 
 
<span><?php echo number_format(($ratingSum/$ratingCount),2); ?>/5.00</span> 
 

 
<input id="resetRatingButton" type="button" value="<?php echo JText::_('K2_RESET'); ?>" class="button" name="resetRating" /> 
 

 
\t \t \t \t \t \t

가 작동처럼, 나는 그것이 각 K2 항목에 대해 등급을 설정하는 의미 보이는 K2의 defauld 파일에 같은 코드를 추가했습니다. 이제 선택한 형식으로 현재 등급을 표시하고 매개 변수를 가져 오는 방법을 모릅니다. 내 코드에서는 /5.00을 사용하지만 0.00/5.00 만 표시합니다. 또한 $ this-> row-> ratingSum 및 $ row-> ratingSum을 시도했지만 작동하지 않습니다. (그래서 내 첫 번째 질문은 어떻게 얻을 수있는 paramentres?

두 번째 질문은 다음과 같습니다. 등급을 재설정하고 dont 단추를 삽입했습니다. 그것이 작동하는 방법을 알고있다. K2 파일에서 내가 평가를 재설정하고 그것을 사용하는 방법을 잘 모릅니다 수있는 기능을 발견했다. 어쩌면 some1는 나에게 도움이 될 수 있습니다! 를이 기능이 따르고

function resetRating() 
 
\t { 
 
\t \t $mainframe = JFactory::getApplication(); 
 
\t \t $id = JRequest::getInt('id'); 
 
\t \t $db = JFactory::getDBO(); 
 
\t \t $query = "DELETE FROM #__k2_rating WHERE itemID={$id}"; 
 
\t \t $db->setQuery($query); 
 
\t \t $db->query(); 
 
\t \t if ($mainframe->isAdmin()) 
 
\t \t \t $url = 'index.php?option=com_k2&view=item&cid='.$id; 
 
\t \t else 
 
\t \t \t $url = 'index.php?option=com_k2&view=item&task=edit&cid='.$id.'&tmpl=component'; 
 
\t \t $mainframe->enqueueMessage(JText::_('K2_SUCCESSFULLY_RESET_ITEM_RATING')); 
 
\t \t $mainframe->redirect($url); 
 
\t }

답변

0

K2 등급 재설정은 Ajax를 사용하여 수행 할 수 있습니다 - 항목 ID를 특정 모듈로 보냅니다. , 당신은 resetK2RatingsAjax라는 함수 내에서 위의 코드를 사용할 수있다. 우리는 여기 com_ajax 사용하는 방법에 대한 긴 포스트 게시 한 : http://www.itoctopus.com/how-to-use-joomlas-ajax-interface-component-com_ajax

내가 정확히 K2 저장 등급을 기억할 수없는,하지만 당신은 다만 할 수 있습니다

print_r($this>row); 

를 그리고 정확한 위치를 알려줍니다 K2 등급이 저장됩니다.

관련 문제