magnusj Posted April 12, 2007 Posted April 12, 2007 Hi, I hope someone can help me with this "simple"? problem. When viewing shop/reviews.php, the reviews are listed in a column. But the message text ($reviews['reviews_text']) is shown with no linebreaks, just a long line of words. When clicking to show a single full review - on shop/product_reviews_info.php - linebreaks are included and the text looks the way it should. So... I would like the linebreaks to be included in the reviews listing aswell. Can this be easily done? And how? Thank U
Guest Posted April 13, 2007 Posted April 13, 2007 Hi, I hope someone can help me with this "simple"? problem. When viewing shop/reviews.php, the reviews are listed in a column. But the message text ($reviews['reviews_text']) is shown with no linebreaks, just a long line of words. When clicking to show a single full review - on shop/product_reviews_info.php - linebreaks are included and the text looks the way it should. So... I would like the linebreaks to be included in the reviews listing aswell. Can this be easily done? And how? Thank U Can you post the filename where it appears correctly, and the filename where it does not appear correctly. thx
magnusj Posted April 14, 2007 Author Posted April 14, 2007 Ok, the filename where it is displayed correctly is "shop/product_reviews_info.php" (FILENAME_PRODUCT_REVIEWS_INFO). And the filename where it is NOT displayed correctly is "shop/reviews.php (FILENAME_REVIEWS)". I will paste the code of that file below: <!-- body //--> <table width="92%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <!-- body_text //--> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <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_image(DIR_WS_IMAGES . 'table_background_reviews_new.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php $reviews_query_raw = "select r.reviews_id, left(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, p.products_id, pd.products_name, p.products_image, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and rd.languages_id = '" . (int)$languages_id . "' order by r.reviews_id DESC"; $reviews_split = new splitPageResults($reviews_query_raw, MAX_DISPLAY_NEW_REVIEWS); if ($reviews_split->number_of_rows > 0) { if ((PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3')) { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText"><?php echo $reviews_split->display_count(TEXT_DISPLAY_NUMBER_OF_REVIEWS); ?></td> <td align="right" class="smallText"><?php echo TEXT_RESULT_PAGE . ' ' . $reviews_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info'))); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } $reviews_query = tep_db_query($reviews_split->sql_query); while ($reviews = tep_db_fetch_array($reviews_query)) { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS_INFO, 'products_id=' . $reviews['products_id'] . '&reviews_id=' . $reviews['reviews_id']) . '"><u><b>' . $reviews['products_name'] . '</b></u></a> <span class="smallText">' . sprintf(TEXT_REVIEW_BY, tep_output_string_protected($reviews['customers_name'])) . '</span>'; ?></td> <td class="smallText" align="right"><?php echo sprintf(TEXT_REVIEW_DATE_ADDED, tep_date_long($reviews['date_added'])); ?></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td width="<?php echo SMALL_IMAGE_WIDTH + 10; ?>" align="center" valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS_INFO, 'products_id=' . $reviews['products_id'] . '&reviews_id=' . $reviews['reviews_id']) . '">' . tep_image(DIR_WS_IMAGES . $reviews['products_image'], $reviews['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>'; ?></td> <td valign="top" class="main"><?php echo tep_break_string(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>') . ((strlen($reviews['reviews_text']) >= 100) ? '..' : '') . '<br><br><i>' . sprintf(TEXT_REVIEW_RATING, tep_image(DIR_WS_IMAGES . 'stars_' . $reviews['reviews_rating'] . '.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])) . '</i>'; ?></td> <td width="10" align="right"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } ?> <?php } else { ?> <tr> <td> <?php new infoBox(array(array('text' => TEXT_NO_REVIEWS))); ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if (($reviews_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3'))) { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText"><?php echo $reviews_split->display_count(TEXT_DISPLAY_NUMBER_OF_REVIEWS); ?></td> <td align="right" class="smallText"><?php echo TEXT_RESULT_PAGE . ' ' . $reviews_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info'))); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } ?> </table></td> </tr> </table></td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> I guess that tags are stripped, but I don´t want that. Thank you!
magnusj Posted April 18, 2007 Author Posted April 18, 2007 I guess you could ask this question differently, since it applies to other files aswell. So... How do you make text appear WITH linebeaks when listed in an array. Or maybe the array part has nothing to do with it? I´m so lost...
rrrhythm Posted April 18, 2007 Posted April 18, 2007 i haven't actually tested this, so your milage may vary, but i think what you need is the php function nl2br (new line to break) try the following: in reviews.php, find this bit of code: <?php echo tep_break_string(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>') . and replace with: <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>')) . RJ
magnusj Posted April 18, 2007 Author Posted April 18, 2007 My hero... :thumbsup: Thanks man! That worked like a charm. Had to use <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>')) . instead of <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text'])), 60, '-<br>') . though (check the parenthesis). Thanks again! MJ
rrrhythm Posted April 18, 2007 Posted April 18, 2007 My hero... :thumbsup: Thanks man! That worked like a charm. Had to use <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>')) . instead of <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text'])), 60, '-<br>') . though (check the parenthesis). Thanks again! MJ hey, that's exactly how i posted it! so i think you must mean it was the second way that worked, not the first, which as i look at it more carefully seems right. glad it worked!
magnusj Posted April 19, 2007 Author Posted April 19, 2007 Hey, yeah sorry. I was really tired when I wrote that. What I meant was the opposite: Had to use <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text'])), 60, '-<br>') . instead of <?php echo tep_break_string(nl2br(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>')) . though (check the parenthesis). MJ
Recommended Posts
Archived
This topic is now archived and is closed to further replies.