현재 Joomla에서 동적 목록을 생성하는 작업 코드가 있습니다. 이것은 내가 개발중인 퀘스트 시스템의 일부입니다. 각 기사 (퀘스트)에는 사용자 지정 필수 구성 요소 값이 할당되어 있습니다. 필자는 Fields Attach라는 확장을 사용하여 이러한 값을 할당했습니다.이 속성을 사용하여 사용자 지정 아티클 속성을 정의하고 데이터베이스에 저장할 수 있습니다. 아래의 코드는 prereq 값이 0 인 모든 퀘스트 또는 완성 된 퀘스트 테이블에있는 퀘스트의 기사 ID와 일치하는 prereq 값을 가진 퀘스트를 나열합니다.배열에있는 모든 값이 테이블에 있는지 확인하십시오.
지금 사용자가 퀘스트를 제출하면 완료된 퀘스트 테이블에 기사 정보 (ID, 제목 등)가 저장됩니다. 아직 완료되지 않은 퀘스트의 ID와 일치하는 퀘스트가있는 경우 퀘스트가 표시되지 않습니다. 다행히도 그것은 의미가 있습니다.
내 질문은 다음과 같습니다. 어떻게 기사 ID 배열을 저장할 수 있습니까? 예를 들어 특정 퀘스트에 여러 가지 전제 조건이 필요하면 해당 퀘스트에 1, 2, 3 같은 것을 할당 할 수 있습니다. 그렇다면 저장된 배열의 모든 값이 완성 된 퀘스트 테이블에 있는지 확인하려면 어떻게해야합니까? 이 시스템을 작동 시키려면 여러 전제 조건을 퀘스트에 할당 할 수 있어야합니다. 그것은 내 현재 코드를 표시하는 데 도움이 될 수 있습니다 :
$query = "SELECT c.id, c.title, c.catid, r.user_id, r.prereqID, f.fieldsid, f.articleid, f.value FROM arp2i_fieldsattach_values AS f
LEFT JOIN arp2i_content AS c
ON f.articleid=c.id
AND f.fieldsid=5
AND f.value!=0
LEFT JOIN arp2i_completed_quests AS r
ON r.user_id = $userID
ORDER BY f.articleid, c.id"; // prepare query
$db = &JFactory::getDBO(); // get database object
$db->setQuery($query); // apply query
$prereqs = $db->loadObjectList(); // execute query, return result list
목록을 표시하는 PHP :
이 내가 목록을 컴파일하기 위해 사용하고 쿼리입니다
foreach ($prereqs as $prereq){ // loop through articles
if ($prereq->fieldsid == 1) {
$questXp2 = $prereq->value;
}
else if ($prereq->fieldsid == 3) {
$hexValue2 = $prereq->value;
}
else if ($prereq->fieldsid == 4) {
$image2 = $prereq->value;
}
if ($prereq->catid == $catID
&& $prereq->prereqID == $prereq->value) {
echo '<div class="questBlock" style="background-color:' . $hexValue2 . ';">' . '<a class="questLink" href="http://localhost/quest/index.php/quests/' . $prereq->articleid . '-' . $prereq->c.title . '">' . '<img src="images/documents/' . $prereq->articleid . '/' . $image2 . ' " />' . $prereq->title . '<span class="xpFloat">' . $questXp2 . ' XP' . '</span>' . '</a>' . '</div>' ;}
}
명확히하기는, 기사 ID가 1, 2, 3, 4 인 4 개의 퀘스트가 있다고 가정 해 봅시다. 퀘스트 4에 1, 2, 3의 전제 조건 값을 부여합니다. 그러면 퀘스트 1, 2 및 3이 표시 될 때까지 퀘스트 4가 표시되지 않습니다. 3이 완료되었습니다. 어떤 도움이라도 대단히 감사하겠습니다.