Jump to content
RobAnderson

Article Manager v1.0

Recommended Posts

here is the other bit.... the last line and the first line are the same. so take one out.

I hope it works

=====

 

$aInfo->articles_head_keywords_tag = tep_db_prepare_input($articles_head_keywords_tag[$languages[$i]['id']]);

}

?>

<table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading" colspan="2"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . $aInfo->articles_name; ?></td>

</tr>

</table></td>

</tr>

<?php

if ($aInfo->articles_description) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<!--Added Salvo Image -->

<tr>

<td class="main"><?php echo tep_image(DIR_WS_CATALOG_IMAGES . $articles_image_name, $aInfo->articles_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'align="right" hspace="5" vspace="5"') . $aInfo->articles_description; ?></td>

</tr>

<!--Added Salvo Image -->

<tr>

<td class="main"><?php echo $aInfo->articles_description; ?></td>

</tr>

<?php

}

?>

<?php

if ($aInfo->articles_url) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="main"><?php echo sprintf(TEXT_ARTICLE_MORE_INFORMATION, $aInfo->articles_url); ?></td>

</tr>

<?php

}

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<?php

if ($aInfo->articles_date_available > date('Y-m-d')) {

?>

<tr>

<td align="center" class="smallText"><?php echo sprintf(TEXT_ARTICLE_DATE_AVAILABLE, tep_date_long($aInfo->articles_date_available)); ?></td>

</tr>

<?php

} else {

?>

<tr>

<td align="center" class="smallText"><?php echo sprintf(TEXT_ARTICLE_DATE_ADDED, tep_date_long($aInfo->articles_date_added)); ?></td>

</tr>

<?php

}

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<?php

}

 

if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) {

if (isset($HTTP_GET_VARS['origin'])) {

$pos_params = strpos($HTTP_GET_VARS['origin'], '?', 0);

if ($pos_params != false) {

$back_url = substr($HTTP_GET_VARS['origin'], 0, $pos_params);

$back_url_params = substr($HTTP_GET_VARS['origin'], $pos_params + 1);

} else {

$back_url = $HTTP_GET_VARS['origin'];

$back_url_params = '';

}

} else {

$back_url = FILENAME_ARTICLES;

$back_url_params = 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id;

}

?>

<tr>

<td align="right"><?php echo '<a href="' . tep_href_link($back_url, $back_url_params, 'NONSSL') . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>

</tr>

<?php

} else {

?>

<tr>

<td align="right" class="smallText">

<?php

/* Re-Post all POST'ed variables */

reset($HTTP_POST_VARS);

while (list($key, $value) = each($HTTP_POST_VARS)) {

if (!is_array($HTTP_POST_VARS[$key])) {

echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value)));

}

}

$languages = tep_get_languages();

for ($i=0, $n=sizeof($languages); $i<$n; $i++) {

echo tep_draw_hidden_field('articles_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_name[$languages[$i]['id']])));

echo tep_draw_hidden_field('articles_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_description[$languages[$i]['id']])));

echo tep_draw_hidden_field('articles_url[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_url[$languages[$i]['id']])));

echo tep_draw_hidden_field('articles_head_title_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_head_title_tag[$languages[$i]['id']])));

echo tep_draw_hidden_field('articles_head_desc_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_head_desc_tag[$languages[$i]['id']])));

echo tep_draw_hidden_field('articles_head_keywords_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_head_keywords_tag[$languages[$i]['id']])));

}

// Salvo Images Added

echo tep_draw_hidden_field('articles_image', stripslashes($articles_image_name));

// Salvo Images Added

echo tep_image_submit('button_back.gif', IMAGE_BACK, 'name="edit"') . '  ';

 

if (isset($HTTP_GET_VARS['aID'])) {

echo tep_image_submit('button_update.gif', IMAGE_UPDATE);

} else {

echo tep_image_submit('button_insert.gif', IMAGE_INSERT);

}

echo '  <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . (isset($HTTP_GET_VARS['aID']) ? '&aID=' . $HTTP_GET_VARS['aID'] : '')) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';

?></td>

</tr>

</table></form>

<?php

}

} else {

?>

<table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

<td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="smallText" align="right">

<?php

echo tep_draw_form('search', FILENAME_ARTICLES, '', 'get');

echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('search');

echo '</form>';

?>

</td>

</tr>

<tr>

<td class="smallText" align="right">

<?php

echo tep_draw_form('goto', FILENAME_ARTICLES, '', 'get');

echo HEADING_TITLE_GOTO . ' ' . tep_draw_pull_down_menu('tPath', tep_get_topic_tree(), $current_topic_id, 'onChange="this.form.submit();"');

echo '</form>';

?>

</td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_TOPICS_ARTICLES; ?></td>

<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<?php

$topics_count = 0;

$rows = 0;

if (isset($HTTP_GET_VARS['search'])) {

$search = tep_db_prepare_input($HTTP_GET_VARS['search']);

 

$topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id, t.sort_order, t.date_added, t.last_modified from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' and td.topics_name like '%" . tep_db_input($search) . "%' order by t.sort_order, td.topics_name");

} else {

$topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id, t.sort_order, t.date_added, t.last_modified from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.parent_id = '" . (int)$current_topic_id . "' and t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' order by t.sort_order, td.topics_name");

}

while ($topics = tep_db_fetch_array($topics_query)) {

$topics_count++;

$rows++;

 

// Get parent_id for subtopics if search

if (isset($HTTP_GET_VARS['search'])) $tPath= $topics['parent_id'];

 

if ((!isset($HTTP_GET_VARS['tID']) && !isset($HTTP_GET_VARS['aID']) || (isset($HTTP_GET_VARS['tID']) && ($HTTP_GET_VARS['tID'] == $topics['topics_id']))) && !isset($tInfo) && (substr($action, 0, 3) != 'new')) {

$topic_childs = array('childs_count' => tep_childs_in_topic_count($topics['topics_id']));

$topic_articles = array('articles_count' => tep_articles_in_topic_count($topics['topics_id']));

 

$tInfo_array = array_merge($topics, $topic_childs, $topic_articles);

$tInfo = new objectInfo($tInfo_array);

}

 

if (isset($tInfo) && is_object($tInfo) && ($topics['topics_id'] == $tInfo->topics_id) ) {

echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, tep_get_topic_path($topics['topics_id'])) . ''">' . "n";

} else {

echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $topics['topics_id']) . ''">' . "n";

}

?>

<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ARTICLES, tep_get_topic_path($topics['topics_id'])) . '">' . tep_image(DIR_WS_ICONS . 'folder.gif', ICON_FOLDER) . '</a> <b>' . $topics['topics_name'] . '</b>'; ?></td>

<td class="dataTableContent" align="center"> </td>

<td class="dataTableContent" align="right"><?php if (isset($tInfo) && is_object($tInfo) && ($topics['topics_id'] == $tInfo->topics_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $topics['topics_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>

</tr>

<?php

}

 

$articles_count = 0;

if (isset($HTTP_GET_VARS['search'])) {

$articles_query = tep_db_query("select a.articles_id, a.articles_image, ad.articles_name, a.articles_date_added, a.articles_last_modified, a.articles_date_available, a.articles_status, a2t.topics_id from " . TABLE_ARTICLES . " a, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t where a.articles_id = ad.articles_id and ad.language_id = '" . (int)$languages_id . "' and a.articles_id = a2t.articles_id and ad.articles_name like '%" . tep_db_input($search) . "%' order by ad.articles_name");

} else {

$articles_query = tep_db_query("select a.articles_id, a.articles_image, ad.articles_name, a.articles_date_added, a.articles_last_modified, a.articles_date_available, a.articles_status from " . TABLE_ARTICLES . " a, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t where a.articles_id = ad.articles_id and ad.language_id = '" . (int)$languages_id . "' and a.articles_id = a2t.articles_id and a2t.topics_id = '" . (int)$current_topic_id . "' order by ad.articles_name");

}

while ($articles = tep_db_fetch_array($articles_query)) {

$articles_count++;

$rows++;

 

// Get topics_id for article if search

if (isset($HTTP_GET_VARS['search'])) $tPath = $articles['topics_id'];

 

if ( (!isset($HTTP_GET_VARS['aID']) && !isset($HTTP_GET_VARS['tID']) || (isset($HTTP_GET_VARS['aID']) && ($HTTP_GET_VARS['aID'] == $articles['articles_id']))) && !isset($aInfo) && !isset($tInfo) && (substr($action, 0, 3) != 'new')) {

// find out the rating average from customer reviews

$reviews_query = tep_db_query("select (avg(reviews_rating) / 5 * 100) as average_rating from " . TABLE_ARTICLE_REVIEWS . " where articles_id = '" . (int)$articles['articles_id'] . "'");

$reviews = tep_db_fetch_array($reviews_query);

$aInfo_array = array_merge($articles, $reviews);

$aInfo = new objectInfo($aInfo_array);

}

 

if (isset($aInfo) && is_object($aInfo) && ($articles['articles_id'] == $aInfo->articles_id) ) {

echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id'] . '&action=article_preview&read=only') . ''">' . "n";

} else {

echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id']) . ''">' . "n";

}

?>

<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id'] . '&action=article_preview&read=only') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $articles['articles_name']; ?></td>

<td class="dataTableContent" align="center">

<?php

if ($articles['articles_status'] == '1') {

echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10) . '  <a href="' . tep_href_link(FILENAME_ARTICLES, 'action=setflag&flag=0&aID=' . $articles['articles_id'] . '&tPath=' . $tPath) . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . '</a>';

} else {

echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'action=setflag&flag=1&aID=' . $articles['articles_id'] . '&tPath=' . $tPath) . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '</a>  ' . tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10);

}

?></td>

<td class="dataTableContent" align="right"><?php if (isset($aInfo) && is_object($aInfo) && ($articles['articles_id'] == $aInfo->articles_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>

</tr>

<?php

}

 

$tPath_back = '';

if (sizeof($tPath_array) > 0) {

for ($i=0, $n=sizeof($tPath_array)-1; $i<$n; $i++) {

if (empty($tPath_back)) {

$tPath_back .= $tPath_array[$i];

} else {

$tPath_back .= '_' . $tPath_array[$i];

}

}

}

 

$tPath_back = (tep_not_null($tPath_back)) ? 'tPath=' . $tPath_back . '&' : '';

?>

<tr>

<td colspan="3"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td class="smallText"><?php echo TEXT_TOPICS . ' ' . $topics_count . '<br>' . TEXT_ARTICLES . ' ' . $articles_count; ?></td>

<td align="right" class="smallText"><?php if (sizeof($tPath_array) > 0) echo '<a href="' . tep_href_link(FILENAME_ARTICLES, $tPath_back . 'tID=' . $current_topic_id) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a> '; if (!isset($HTTP_GET_VARS['search'])) echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&action=new_topic') . '">' . tep_image_button('button_new_topic.gif', IMAGE_NEW_TOPIC) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&action=new_article') . '">' . tep_image_button('button_new_article.gif', IMAGE_NEW_ARTICLE) . '</a>'; ?> </td>

</tr>

</table></td>

</tr>

</table></td>

<?php

$heading = array();

$contents = array();

switch ($action) {

case 'new_topic':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_TOPIC . '</b>');

 

$contents = array('form' => tep_draw_form('newtopic', FILENAME_ARTICLES, 'action=insert_topic&tPath=' . $tPath, 'post', 'enctype="multipart/form-data"'));

$contents[] = array('text' => TEXT_NEW_TOPIC_INTRO);

 

$topic_inputs_string = '';

$languages = tep_get_languages();

for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {

$topic_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('topics_name[' . $languages[$i]['id'] . ']');

}

 

$contents[] = array('text' => '<br>' . TEXT_TOPICS_NAME . $topic_inputs_string);

$contents[] = array('text' => '<br>' . TEXT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', '', 'size="2"'));

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

case 'edit_topic':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_TOPIC . '</b>');

 

$contents = array('form' => tep_draw_form('topics', FILENAME_ARTICLES, 'action=update_topic&tPath=' . $tPath, 'post', 'enctype="multipart/form-data"') . tep_draw_hidden_field('topics_id', $tInfo->topics_id));

$contents[] = array('text' => TEXT_EDIT_INTRO);

 

$topic_inputs_string = '';

$languages = tep_get_languages();

for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {

$topic_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('topics_name[' . $languages[$i]['id'] . ']', tep_get_topic_name($tInfo->topics_id, $languages[$i]['id']));

}

 

$contents[] = array('text' => '<br>' . TEXT_EDIT_TOPICS_NAME . $topic_inputs_string);

$contents[] = array('text' => '<br>' . TEXT_EDIT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', $tInfo->sort_order, 'size="2"'));

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

case 'delete_topic':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_TOPIC . '</b>');

 

$contents = array('form' => tep_draw_form('topics', FILENAME_ARTICLES, 'action=delete_topic_confirm&tPath=' . $tPath) . tep_draw_hidden_field('topics_id', $tInfo->topics_id));

$contents[] = array('text' => TEXT_DELETE_TOPIC_INTRO);

$contents[] = array('text' => '<br><b>' . $tInfo->topics_name . '</b>');

if ($tInfo->childs_count > 0) $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_CHILDS, $tInfo->childs_count));

if ($tInfo->articles_count > 0) $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_ARTICLES, $tInfo->articles_count));

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

case 'move_topic':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_MOVE_TOPIC . '</b>');

 

$contents = array('form' => tep_draw_form('topics', FILENAME_ARTICLES, 'action=move_topic_confirm&tPath=' . $tPath) . tep_draw_hidden_field('topics_id', $tInfo->topics_id));

$contents[] = array('text' => sprintf(TEXT_MOVE_TOPICS_INTRO, $tInfo->topics_name));

$contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $tInfo->topics_name) . '<br>' . tep_draw_pull_down_menu('move_to_topic_id', tep_get_topic_tree(), $current_topic_id));

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

case 'delete_article':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ARTICLE . '</b>');

 

$contents = array('form' => tep_draw_form('articles', FILENAME_ARTICLES, 'action=delete_article_confirm&tPath=' . $tPath) . tep_draw_hidden_field('articles_id', $aInfo->articles_id));

$contents[] = array('text' => TEXT_DELETE_ARTICLE_INTRO);

$contents[] = array('text' => '<br><b>' . $aInfo->articles_name . '</b>');

 

$article_topics_string = '';

$article_topics = tep_generate_topic_path($aInfo->articles_id, 'article');

for ($i = 0, $n = sizeof($article_topics); $i < $n; $i++) {

$topic_path = '';

for ($j = 0, $k = sizeof($article_topics[$i]); $j < $k; $j++) {

$topic_path .= $article_topics[$i][$j]['text'] . ' > ';

}

$topic_path = substr($topic_path, 0, -16);

$article_topics_string .= tep_draw_checkbox_field('article_topics[]', $article_topics[$i][sizeof($article_topics[$i])-1]['id'], true) . ' ' . $topic_path . '<br>';

}

$article_topics_string = substr($article_topics_string, 0, -4);

 

$contents[] = array('text' => '<br>' . $article_topics_string);

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

case 'move_article':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_MOVE_ARTICLE . '</b>');

 

$contents = array('form' => tep_draw_form('articles', FILENAME_ARTICLES, 'action=move_article_confirm&tPath=' . $tPath) . tep_draw_hidden_field('articles_id', $aInfo->articles_id));

$contents[] = array('text' => sprintf(TEXT_MOVE_ARTICLES_INTRO, $aInfo->articles_name));

$contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_TOPICS . '<br><b>' . tep_output_generated_topic_path($aInfo->articles_id, 'article') . '</b>');

$contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $aInfo->articles_name) . '<br>' . tep_draw_pull_down_menu('move_to_topic_id', tep_get_topic_tree(), $current_topic_id));

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

case 'copy_to':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_COPY_TO . '</b>');

 

$contents = array('form' => tep_draw_form('copy_to', FILENAME_ARTICLES, 'action=copy_to_confirm&tPath=' . $tPath) . tep_draw_hidden_field('articles_id', $aInfo->articles_id));

$contents[] = array('text' => TEXT_INFO_COPY_TO_INTRO);

$contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_TOPICS . '<br><b>' . tep_output_generated_topic_path($aInfo->articles_id, 'article') . '</b>');

$contents[] = array('text' => '<br>' . TEXT_TOPICS . '<br>' . tep_draw_pull_down_menu('topics_id', tep_get_topic_tree(), $current_topic_id));

$contents[] = array('text' => '<br>' . TEXT_HOW_TO_COPY . '<br>' . tep_draw_radio_field('copy_as', 'link', true) . ' ' . TEXT_COPY_AS_LINK . '<br>' . tep_draw_radio_field('copy_as', 'duplicate') . ' ' . TEXT_COPY_AS_DUPLICATE);

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_copy.gif', IMAGE_COPY) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

 

default:

if ($rows > 0) {

if (isset($tInfo) && is_object($tInfo)) { // topic info box contents

$heading[] = array('text' => '<b>' . $tInfo->topics_name . '</b>');

 

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id . '&action=edit_topic') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id . '&action=delete_topic') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id . '&action=move_topic') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a>');

$contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($tInfo->date_added));

if (tep_not_null($tInfo->last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($tInfo->last_modified));

$contents[] = array('text' => '<br>' . TEXT_SUBTOPICS . ' ' . $tInfo->childs_count . '<br>' . TEXT_ARTICLES . ' ' . $tInfo->articles_count);

} elseif (isset($aInfo) && is_object($aInfo)) { // article info box contents

$heading[] = array('text' => '<b>' . tep_get_articles_name($aInfo->articles_id, $languages_id) . '</b>');

 

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=new_article') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=delete_article') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=move_article') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=copy_to') . '">' . tep_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($aInfo->articles_date_added));

if (tep_not_null($aInfo->articles_last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($aInfo->articles_last_modified));

if (date('Y-m-d') < $aInfo->articles_date_available) $contents[] = array('text' => TEXT_DATE_AVAILABLE . ' ' . tep_date_short($aInfo->articles_date_available));

 

$contents[] = array('text' => '<br>' . tep_info_image($aInfo->articles_image, $aInfo->articles_name) . '<br>' . $aInfo->articles_image);

 

$contents[] = array('text' => '<br>' . TEXT_ARTICLES_AVERAGE_RATING . ' ' . number_format($aInfo->average_rating, 2) . '%');

}

} else { // create topic/article info

$heading[] = array('text' => '<b>' . EMPTY_TOPIC . '</b>');

 

$contents[] = array('text' => TEXT_NO_CHILD_TOPICS_OR_ARTICLES);

}

break;

}

 

if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {

echo ' <td width="25%" valign="top">' . "n";

 

$box = new box;

echo $box->infoBox($heading, $contents);

 

echo ' </td>' . "n";

}

?>

</tr>

</table></td>

</tr>

</table>

<?php

}

?>

</td>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Share this post


Link to post
Share on other sites

I have installed to a new site and it doesn't upload anymore now.. I don't know why. When you have tried, can you let me if it works for you...

 

 

:angry:

Share this post


Link to post
Share on other sites
I have installed to a new site and it doesn't upload anymore now.. I don't know why. When you have tried, can you let me if it works for you...

 

 

:angry:

The site where it works. Is there any difference in the code?

 

When it does not upload any more what kind of error do you get?

 

I think I have an error around here: "<tr>

<td class="main"><?php echo TEXT_ARTICLE_IMAGE; ?></td>

<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_file_field('article_image') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . $aInfo->article_image . tep_draw_hidden_field('article_image', $aInfo->article_image); ?></td>

</tr>"

 

Especially the tep_draw_hidden_field( seems not to work proberly.

 

/Martin

Share this post


Link to post
Share on other sites

Now the code is the same and looks I changed or deleted the good one or I don't know what.....

 

I have to start all over again and see what's missing..

 

the code above, insert the image file into the database, but it doesn't upload it....

 

I see what's happened to it unless someone is so kind to have a look at it as it took me 3 days before..

Share this post


Link to post
Share on other sites

ok, here is the solution I hope :D

 

find around line 300:

 

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $topics_id . '&aID=' . $articles_id));

break;

 

After add:

 

// images salvo

case 'article_preview':

// copy image only if modified

$articles_image = new upload('articles_image');

$articles_image->set_destination(DIR_FS_CATALOG_IMAGES);

if ($articles_image->parse() && $articles_image->save()) {

$articles_image_name = $articles_image->filename;

} else {

$articles_image_name = (isset($HTTP_POST_VARS['articles_previous_image']) ? $HTTP_POST_VARS['articles_previous_image'] : '');

}

break;

// images salvo

}

}

Share this post


Link to post
Share on other sites

Hi all,

 

I would like to give access to contributors/editors to send articles and I should be able to verify the article and approve it from admin cp..

 

has anybody done this?

 

Is anyone with knowledge of articles contribution and PHP willing to help or advice on how I should go about it?

 

Any help is appreciated

 

 

Salvo

Share this post


Link to post
Share on other sites

Looks like a cool mod -- but I need to control access to articles via logon (premium content delivery) as well...any ideas?

Share this post


Link to post
Share on other sites
I would like to give access to contributors/editors to send articles and I should be able to verify the article and approve it from admin cp..
I would also like to do this, let me know if you find a solution.

 

Tammy

Share this post


Link to post
Share on other sites

I haven't worked out to find a solution as yet, but the fastest way to allow other to right an article (until a better solution is created) would be:

 

Create a category within article manger called

ie. Contributions or whatever you like to call it...

 

In the description field just wright what it is for and whatever you like to wright in a the way that contributors or authors know about it... or detail about it..

 

Now use the review script to allow or let other to contribute the article.

Now, because the revew/article would need your authrisation, nobody is able to see.

 

You just have to take the article/review and copy it to the catogory you like....

simple as that...

Share this post


Link to post
Share on other sites

Hello All,

 

This contribution is VERY nice.

 

I only have one problem. My Previous | Next Links arent showing up on the article listing page. I have the configuration set to display 10 articles at a time. Is there a way to make the Links appear at the top/bottom of the list to view the next 10, etc?

 

Thanks for any assistance.

 

Bob Burgee.

 

here is the I.P. for the site I'm working on:

 

http://65.254.80.103/articles.php

Edited by rburgee876

Share this post


Link to post
Share on other sites

Greetingd,

 

I have just installed OS Commerce 2.2ms2 and the latest Article Manager. everythin wxcept the cross sell script seems to work okay.

 

however, when I click on the cross sell article link from the admin menu I get the folowing:

 

Parse error: parse error, unexpected '}' in /var/www/oscommerce-2.2ms2/catalog/admin/articles_xsell.php on line 258

 

I have had a look at the file but ... well to mee it looks like there are loads of missing braces but I am no expert.

 

so is it just me?

 

don

Share this post


Link to post
Share on other sites

Hi Everyone.

 

These are some things I did to my Articles section to make it easier to use without the infobox. I'm trying to minimize my infoboxes in order to unclutter the site. I've installed tabs unlimited and pointed one of my tabs at the articles.php instead of using the infobox.

 

So, I wanted to make the default articles page a list of categories (top level). Near the end of articles.php, where you see the comment // default page, I added a new bunch of code (modified from what I swiped from the infobox) to list the categories.

<?php //Kristina Start
 function tep_show_topic($counter) {
   global $tree, $topics_string, $tPath_array;

   for ($i=0; $i<$tree[$counter]['level']; $i++) {
     $topics_string .= "  ";
   }

   $topics_string .= '<a href="';

   if ($tree[$counter]['parent'] == 0) {
     $tPath_new = 'tPath=' . $counter;
   } else {
     $tPath_new = 'tPath=' . $tree[$counter]['path'];
   }

   $topics_string .= tep_href_link(FILENAME_ARTICLES, $tPath_new) . '">';

   if (isset($tPath_array) && in_array($counter, $tPath_array)) {
     $topics_string .= '<b>';
   }

// display topic name
   $topics_string .= $tree[$counter]['name'];

   if (isset($tPath_array) && in_array($counter, $tPath_array)) {
     $topics_string .= '</b>';
   }

   if (tep_has_topic_subtopics($counter)) {
     $topics_string .= ' ->';
   }

   $topics_string .= '</a>';

   if (SHOW_ARTICLE_COUNTS == 'true') {
     $articles_in_topic = tep_count_articles_in_topic($counter);
     if ($articles_in_topic > 0) {
       $topics_string .= ' </b>(' . $articles_in_topic . ' article';
 if ($articles_in_topic >1) {
   $topics_string .= 's';
 }
 $topics_string .= ')<b>';
     }
   }

   $topics_string .= '<p>';

   if ($tree[$counter]['next_id'] != false) {
     tep_show_topic($tree[$counter]['next_id']);
   }
 }
?>
<!-- topics //-->
         <tr>
  	 <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
   </tr>
   <tr>
           <td align="left" class="main">
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => BOX_HEADING_ARTICLES);

//  new infoBoxHeading($info_box_contents, false, false);
?>
   <?php echo TEXT_ALL_ARTICLES; ?>
	 </td>	
   </tr>
         <tr>
  	 <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
   </tr>
   <tr>
  	 <td align="left" class="main"><b>
<?php
 $topics_string = '';
 $tree = array();

 $topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.parent_id = '0' and t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' order by sort_order, td.topics_name");
 while ($topics = tep_db_fetch_array($topics_query))  {
   $tree[$topics['topics_id']] = array('name' => $topics['topics_name'],
                                       'parent' => $topics['parent_id'],
                                       'level' => 0,
                                       'path' => $topics['topics_id'],
                                       'next_id' => false);

   if (isset($parent_id)) {
     $tree[$parent_id]['next_id'] = $topics['topics_id'];
   }

   $parent_id = $topics['topics_id'];

   if (!isset($first_topic_element)) {
     $first_topic_element = $topics['topics_id'];
   }
 }

 //------------------------
 if (tep_not_null($tPath)) {
   $new_path = '';
   reset($tPath_array);
   while (list($key, $value) = each($tPath_array)) {
     unset($parent_id);
     unset($first_id);
     $topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.parent_id = '" . (int)$value . "' and t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' order by sort_order, td.topics_name");
     if (tep_db_num_rows($topics_query)) {
       $new_path .= $value;
       while ($row = tep_db_fetch_array($topics_query)) {
         $tree[$row['topics_id']] = array('name' => $row['topics_name'],
                                          'parent' => $row['parent_id'],
                                          'level' => $key+1,
                                          'path' => $new_path . '_' . $row['topics_id'],
                                          'next_id' => false);

         if (isset($parent_id)) {
           $tree[$parent_id]['next_id'] = $row['topics_id'];
         }

         $parent_id = $row['topics_id'];

         if (!isset($first_id)) {
           $first_id = $row['topics_id'];
         }

         $last_id = $row['topics_id'];
       }
       $tree[$last_id]['next_id'] = $tree[$value]['next_id'];
       $tree[$value]['next_id'] = $first_id;
       $new_path .= '_';
     } else {
       break;
     }
   }
 }
 tep_show_topic($first_topic_element);

 $info_box_contents = array();

 $info_box_contents[] = array('text' => $topics_string);
echo $topics_string;
 // Kristina End
?>

The above section goes in a couple of lines above the <!-- topics_eof //--> comment. Please don't ding me for not cleaning up some things that aren't needed. I don't call myself a coder and I was being careful not to delete too much and break what I was trying to do. :)

 

Note: This only shows up on the top page, so if you have nested categories, more modifications would be needed that I have not done. I don't have nested categories.

 

I also deleted a large chunk of the original default page--the bit that displays the all articles list and new articles list. I don't need that for my site, but other people might like it.

 

Second, the breadcrumb trail didn't do what I wanted. When you're on a page showing the list of articles inside a topic, the "Articles" link doesn't show up in the breadcrumb. So I added a line to application_top to fix it.

    $breadcrumb->add(NAVBAR_TITLE_DEFAULT, tep_href_link(FILENAME_ARTICLES));

This goes in front of the line

        $breadcrumb->add($topics['topics_name'], tep_href_link(FILENAME_ARTICLES, 'tPath=' . implode('_', array_slice($tPath_array, 0, ($i+1)))));

in the // add topic names or the author name to the breadcrumb trail

section.

 

So anyway, my wishes for a future revision--

1. Make the default page a category list (or make it a choice, anyway), with a choice of whether to display all articles as a list.

2. Fix the breadcrumb trail so "Articles" shows up no matter how deep in the tree you go.

3. Incorporate the image-per-topic and image-per-article comments I've seen elsewhere in the string.

4. Add hide/show buttons for topics as well as for categories.

 

Thank you so much for this mod. I am finding it very useful and will continue to do so, I am sure.

 

shris

Share this post


Link to post
Share on other sites

Hello

 

I have most recent STS installed as well as the X-Sell contribution.

 

I just installed ARticle manager; i don't get any errors, but the link is not showing up in my admin panel under 'catalog' on the left grey menu like it's supposed to

 

Why? I'm pretty sure I followed the instructions verbatim and I modifed

'application_top" in admin by adding this at end:

 

// Article Manager

if (isset($HTTP_GET_VARS['tPath'])) {

$tPath = $HTTP_GET_VARS['tPath'];

} else {

$tPath = '';

}

 

if (tep_not_null($tPath)) {

$tPath_array = tep_parse_topic_path($tPath);

$tPath = implode('_', $tPath_array);

$current_topic_id = $tPath_array[(sizeof($tPath_array)-1)];

} else {

$current_topic_id = 0;

}

 

 

Why is Article manager not showing up in my admin??

Share this post


Link to post
Share on other sites

Hi all

 

I am trying to add a search facilities to the articles, but I ma stuck with this problem...

 

1064 - Erreur de syntaxe pr?s de 'select distinct m.authors_id, p.articles_id, pd.articles_namefr' ? la ligne 1

 

select count(distinct p.articles_id) as total select distinct m.authors_id, p.articles_id, pd.articles_namefrom articles p left join authors m using(authors_id), articles_description pd left join topics c, articles_to_topics p2c where p.articles_status = '1' and p.articles_id = pd.articles_id and pd.language_id = '1' and p.articles_id = p2c.articles_id and p2c.topics_id = c.topics_id and ((pd.articles_name like '%test%' or m.authors_name like '%test%' or pd.articles_description like '%test%') )

 

 

this is the code:

 

$select_str = "select distinct " . $select_column_list . " m.authors_id, p.articles_id, pd.articles_name";

 

$from_str = "from " . TABLE_ARTICLES . " p left join " . TABLE_AUTHORS . " m using(authors_id), " . TABLE_ARTICLES_DESCRIPTION . " pd left join " . TABLE_TOPICS . " c, " . TABLE_ARTICLES_TO_TOPICS . " p2c";

 

$where_str = " where p.articles_status = '1' and p.articles_id = pd.articles_id and pd.language_id = '" . (int)$languages_id . "' and p.articles_id = p2c.articles_id and p2c.topics_id = c.topics_id ";

 

 

can someone have a look at it?

 

Thanks

 

Salvo

Share this post


Link to post
Share on other sites

Im wondering if there is a way to have the Articles sorted in drop down menus' (sorted according to Topic)??? Anyone know how to do this?

 

Thanks

Tammy

Share this post


Link to post
Share on other sites
Hi all

 

I am trying to add a search facilities to the articles, but I ma stuck with this problem...

 

1064 - Erreur de syntaxe pr?s de 'select distinct m.authors_id, p.articles_id, pd.articles_namefr' ? la ligne 1

 

select count(distinct p.articles_id) as total select distinct m.authors_id, p.articles_id, pd.articles_namefrom articles p left join authors m using(authors_id), articles_description pd left join topics c, articles_to_topics p2c where p.articles_status = '1' and p.articles_id = pd.articles_id and pd.language_id = '1' and p.articles_id = p2c.articles_id and p2c.topics_id = c.topics_id and ((pd.articles_name like '%test%' or m.authors_name like '%test%' or pd.articles_description like '%test%') )

 

 

this is the code:

 

$select_str = "select distinct " . $select_column_list . " m.authors_id, p.articles_id, pd.articles_name";

 

$from_str = "from " . TABLE_ARTICLES . " p left join " . TABLE_AUTHORS . " m using(authors_id), " . TABLE_ARTICLES_DESCRIPTION . " pd left join " . TABLE_TOPICS . " c, " . TABLE_ARTICLES_TO_TOPICS . " p2c";

 

$where_str = " where p.articles_status = '1' and p.articles_id = pd.articles_id and pd.language_id = '" . (int)$languages_id . "' and p.articles_id = p2c.articles_id and p2c.topics_id = c.topics_id ";

 

 

can someone have a look at it?

 

Thanks

 

Salvo

Hi all again,

 

I am really stuck on this one.

 

I am trying to create a articles search utilising the advanced search result for product and products listing files.

 

Can anyone with more knowleadge than me, have a look at the code below and see what missing to achieve a search in the articles tables?

 

I thank you for you assistance

 

Salvo

Share this post


Link to post
Share on other sites
Im wondering if there is a way to have the Articles sorted in drop down menus' (sorted according to Topic)??? Anyone know how to do this?

 

Thanks

Tammy

I would also like to do this, or simply have some other method of improving the asthetic value of the articles infobox.

 

Also, I installed WYSIWYG Editor 1.7 to the rest of my site, and now the WYSIWYG in article_cat.php no longer functions. How can I go about tieing those two togehter?

Share this post


Link to post
Share on other sites
I have most recent STS installed ...

 

I just installed ARticle manager; i don't get any errors,

How did you get Article Manager to show up in the STS template? What tag variable did you use?

Share this post


Link to post
Share on other sites
I have most recent STS installed ...

 

I just installed ARticle manager; i don't get any errors,

How did you get Article Manager to show up in the STS template? What tag variable did you use?

It doesnt know it automatically. You have to make some changes for it to recognize the articles box. Or, at least I did. You will need to edit Column-left.php, you will see a list that defines all the variables that call the boxes. Add a new one for the articles box. The variable should be the same name as the file, so if the box is articles.php then use $articles.

 

Then, in the main STS file, of which I cant remember the file name, there are two sections which also lists the files involved. One is toeard the middle, another toward the end of the file. Look at those areas and add a new line to each one using the same format as the rest, but make sure it links to the articles box.

 

If you need more help with this, let me know. Ill look over the files and make you a more exact tutorial.

Share this post


Link to post
Share on other sites

Billy,

 

I had put the code needed into the sts_user_code file and made the $variable, but unfortunately I get an error. I am currently looking for support over in the STS Support Thread (the link is to page 100, my question starts on page 99); if you would be so kind, please check it out to see what is going on, and if you can, let me know the syntax you used in sts_user_code.php and sts_template.html.

 

Cheers!

Share this post


Link to post
Share on other sites
Hi

 

Articles Manager works fine, except that it does not display the WYSIWYG editor and at the bottom of the explorer window it shows a javascript error:

I am having a similar problem, no WYSIWYG Editor showing up... it is enabled, and I can use the DATE EXPECTED pulldown so I dunno if the problem is Javascript. Anyone else with this problem?

Share this post


Link to post
Share on other sites

Hi

Great contribution - I was wondering if there is anyone who has progressed with the addition of a feature to have

this product is featured in

    - X

    - Y

on the products page

 

Similar / related tought was to use article manager to give more information like in a popup for what can be found in a specific category. This would allow to have a mix of informative popups with categories and products listed.


KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Share this post


Link to post
Share on other sites

Hi all.

 

I recall that, earlier on, someone else was having the SAME problem I'm having...

 

 

My PREV || NEXT page navigation links don't show up to go to the next page of articles.

 

 

Anyone got any ideas????

 

;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×