Jump to content

Recommended Posts

So i have been pulling my hair out trying to get a 4th column added to my knowledge base. I am using inter-spire knowledge base software and have the developers version but i have it installed internal and not live on the web. So i will do my best to explain.

 

If you look at the picture you will see what I want. I would like to add a 4th column to the main categories section.

 

4thh.th.jpg

 

I am pretty sure I am editing the correct code. This is called the CategoriesPanel.php.  Here is the code if anyone can see where i would need to change to add a 4th column. I have messed with the $count over and over and can see the amount of categories change but its usual's not what i want.

 

<?php

CLASS AKB_CATEGORIES_PANEL extends AKB_PANEL
{
	/**
	* SetPanelSettings
	* This function is a chance to set any last minute global variables for
	* the template to use
	*
	* @return void
	*/
	function SetPanelSettings()
	{
		$GLOBALS['Categories'] = $this->GetCategoryTable();

		if ($GLOBALS['cleanUrls'] === true) {
			$arrURI = explode('/', $_SERVER['REQUEST_URI']);
			$todo = $arrURI[sizeof($arrURI)-1];
		} else if (isset($_GET['todo'])) {
			$todo = $_GET['todo'];
		} else {
			$todo = '';
		}

		switch ($todo) {
			case '__addarticle':
				$GLOBALS['AddArticle'] = '1';
			break;
		}


	}

	/**
	* GetCategoryTable
	* Get an html table of categories for displaying to the user
	*
	* @return string the html to display
	*/
	function GetCategoryTable()
	{
		if (isset($GLOBALS['CategoryId'])) {
			$catid = (int) $GLOBALS['CategoryId'];
		} else {
			$catid = 0;
		}

		$output = '';
		$count = 0;

		$GLOBALS['AKB_CLASS_HELPER']->getCatsInfo();

		if (isset($GLOBALS['categoryRestrictOption']) && $GLOBALS['categoryRestrictOption'] == "1") {
			$accessible_cats = $GLOBALS['AKB_CLASS_HELPER']->GetPermittedCats();
		} else {
			$accessible_cats = false;
		}

		if (isset($GLOBALS['AKB_CLASS_HELPER']->tree->nodesByPid[$catid])
			&& is_array($GLOBALS['AKB_CLASS_HELPER']->tree->nodesByPid[$catid])
			&& !empty($GLOBALS['AKB_CLASS_HELPER']->tree->nodesByPid[$catid])) {
			// Return a 3xn table of categories ordered by name
			$output = $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryGridHeader');

			foreach ($GLOBALS['AKB_CLASS_HELPER']->tree->nodesByPid[$catid] as $rowid) {
				$row = $GLOBALS['AKB_CLASS_HELPER']->catsById[$rowid];

				if (($accessible_cats !== false) && (!in_array($row['categoryid'],$accessible_cats)) && ($row['security'] == "private")) {
					continue;
				}

				$children = $GLOBALS['AKB_CLASS_HELPER']->GetNumQuestionsInCategory($row['categoryid']);

				// Every 3rd category print start a new row
				if ($count % CATEGORIES_PER_ROW == 0) {
					$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowHeader');
				}

				$GLOBALS['Icon'] = $GLOBALS['AKB_CLASS_TEMPLATE']->DisablePlaceholders($row['icon']);
				$GLOBALS['Description'] = strip_tags($row['description'],"<a>");
				$GLOBALS['Link'] = GetUrl('category', $row['categoryid']);
				$GLOBALS['Text'] = htmlspecialchars($GLOBALS['AKB_CLASS_TEMPLATE']->DisablePlaceholders($row['name']),ENT_QUOTES,$GLOBALS['charset']);
				$GLOBALS['QuestionCount'] = $children;

				$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowCell');

				// Every 3rd category end a row
				if ($count % CATEGORIES_PER_ROW == CATEGORIES_PER_ROW - 1) {
					$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowFooter');
				}

				$count++;
			}

			if ($count % CATEGORIES_PER_ROW != CATEGORIES_PER_ROW) {
				$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowFooter');
			}

			$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryGridFooter');
		} else {
			if ($catid == 0) {
				$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowHeader');
				$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowCellNoCategories');
				$output .= $GLOBALS['AKB_CLASS_TEMPLATE']->GetSnippet('CategoryRowFooter');
				$GLOBALS['HideSubList'] = '';
			} else {
				if (isInlineHelp()) {
					$GLOBALS['HideSubList'] = 'none';
				} else {
					$output .= GetLang('catNoSubCategories');
				}
			}
		}

		return $output;
	}

}

?>

 

 

 

I appreciate anyone's help on this matter.

Link to comment
https://forums.phpfreaks.com/topic/188089-pins-to-the-eyes-confused-need-help/
Share on other sites

It looks like the constant CATEGORIES_PER_ROW is controlling how many columns are being displayed. You need to find where this constant is being defined, which is probably in some configuration file. Currently CATEGORIES_PER_ROW is set to 3. You need to change it to 4 in order for the 4gth column to display.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.