Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosty problem a wciąż bez rozwiązania, czyli dzielenie długiego wyrazu w oscommerce
MotyF
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 10.08.2003

Ostrzeżenie: (0%)
-----


Mam na ukończeniu fajny sklep oparty o oscommerce. Problem polega na tym, że cała baza zatowarowana jest na podstawie cennika hurtowni action (ok 12 000 produktów z opisami i zdjęciami). Niestety niektóre nazwy to nawet 60-70 i więcej znaków nie oddzielanych spacjami np bartonxp2500/hdd320/1gbddr2/dvd-rw/..... a co za tym idzie sklep zaczyna się rozjeżdzac Próbowałem 2 rozwiązań z forum, niestety bez rezultatów.

Tabele, które się rozjeżdzają mają budowe:
  1. <table border="0" width="95%" cellspacing="0" cellpadding="0" align="center">
  2. <tr align="center">&nbsp;&nbsp;&nbsp; Nowosci
  3. <td>
  4. <?php
  5.  
  6. if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
  7. $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
  8. } else {
  9. $new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, i
    f(s.status, s.specials_new_products_price, p.products_price) as products_price from "
     . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categori
    es_id and c.parent_id = '"
     . (int)$new_products_category_id . "' and p.products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
  10. }
  11.  
  12. $row = 0;
  13. $col = 0;
  14.  
  15.  
  16. echo '
  17. <table width=100% cellspacing=0 cellpadding=0>
  18.  <tr><td><img src=images/m61.gif width=362 height=5></td></tr>
  19.  <tr><td class=bg4>
  20. <table cellspacing=0 cellpadding=0><tr>
  21.  ';
  22.  
  23.  
  24. while ($new_products = tep_db_fetch_array($new_products_query)) {
  25.  $new_products['products_name'] = tep_get_products_name($new_products['products_id']);
  26.  $product_query = tep_db_query("select products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$new_products['products_id'] . "' and language_id = '" . (int)1 . "'");
  27.  $product = tep_db_fetch_array($product_query);
  28.  $new_products['products_description'] = $product['products_description'];
  29.  echo '
  30.  <td width=180 valign=top nowrap>
  31. <table cellspacing=0 cellpadding=0>
  32.  <tr>
  33.  <td align=center width=180><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '"></td><tr width=180><br><center><td colspan=0 align=center><img src=images/m36.gif width=180 height=1></td></tr><tr align=right>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, '') . '</a></tr>
  34.  <td valign=top align=center nowrap>
  35. <table cellspacing=0 cellpadding=0>
  36.  <tr><td class=cy valign=top align=center height=35 width=170><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a></td><tr><td colspan=2 align=center><img src=images/m36.gif width=180 height=1></td></tr><tr><td colspan=2 height=8></td></tr>
  37.  <tr><td class=cy1 align=center>'.$currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])).'</td></tr>
  38. </table>
  39.  </td>
  40.  </tr>
  41.  <tr><td colspan=2 height=8></td></tr>
  42.  <tr><td colspan=2 align=center><img src=images/m36.gif width=143 height=1></td></tr>
  43.  <tr><td colspan=2 height=12></td></tr>
  44.  <tr><td colspan=2 align=center><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image_button('small_view.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id']) . '">' . tep_image_button('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW) . '</a></td></tr>
  45.  <tr><td colspan=2 height=12></td></tr>
  46. </table>  
  47.  </td>
  48.  
  49. <!--
  50.  <tr><td valign=top nowrap></td>
  51.  <td width=108 valign=top>
  52. <table cellspacing=0 cellpadding=0 width=100 height=110 align=right>
  53.  <tr><td><b></b><br><br class=px2></td></tr>
  54.  <tr><td class=bc1 nowrap></td></tr>
  55.  <tr><td></td></tr>
  56.  <tr><td></td></tr>
  57. </table>
  58.  </td></tr>
  59. </table>
  60.  </td>
  61. --> ';
  62.  
  63. $col ++;
  64. if ($col > 1) {
  65. $col = 0;
  66. $row ++;
  67. echo '
  68.  </tr>
  69. </table>
  70. <table cellspacing=0 cellpadding=0>
  71.  <tr><td><img src=images/m58.gif width=359 height=1></td></tr>
  72. </table>  
  73. <table cellspacing=0 cellpadding=0 align=center width=360 nowrap>  
  74.  <tr>
  75.  ';
  76. } else echo '<td width=0></td>';
  77. }
  78.  
  79.  
  80. echo '
  81.  </tr></table>
  82.  </td></tr>
  83.  <tr><td><img src=images/m60.gif width=362 height=5></td></tr>
  84. </table>
  85.  ';
  86.  
  87.  
  88. ?>
  89. </td></tr></table>


Dzięki za pomoc. Pozdrawiam

Ten post edytował MotyF 6.05.2007, 10:27:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MotyF
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 10.08.2003

Ostrzeżenie: (0%)
-----


Wielkie dzięki. Musiałem zjechać do liczby 6, aby wszystko wyglądało ładnie. Dzięki Tobie rozumie, jak czytać instrukcje wordwrap'a. Wcześniej bez przykładu nie mogłem sam tego zrobić. Czy na tym forum jest opcja pomógł/postaw piwo?

Jeszcze jeden plik potzrebuje takiej operacji ale nie moge sobie jeszcze dać rady. Pisze nowy post, ponieważ poprzedni miałby za dużo znaków
  1. <?php
  2.  
  3. $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
  4.  
  5. if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {
  6. ?>
  7. <table border="0" width="100%" cellspacing="0" cellpadding="2">
  8. <tr>
  9. <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
  10. <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
  11. </tr>
  12. </table>
  13. <?php
  14. }
  15.  
  16. $list_box_contents = array();
  17.  
  18. for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
  19. switch ($column_list[$col]) {
  20. case 'PRODUCT_LIST_MODEL':
  21. $lc_text = TABLE_HEADING_MODEL;
  22. $lc_align = '';
  23. break;
  24. case 'PRODUCT_LIST_NAME':
  25. $lc_text = TABLE_HEADING_PRODUCTS;
  26. $lc_align = '';
  27. break;
  28. case 'PRODUCT_LIST_MANUFACTURER':
  29. $lc_text = TABLE_HEADING_MANUFACTURER;
  30. $lc_align = '';
  31. break;
  32. case 'PRODUCT_LIST_PRICE':
  33. $lc_text = TABLE_HEADING_PRICE;
  34. $lc_align = 'right';
  35. break;
  36. case 'PRODUCT_LIST_QUANTITY':
  37. $lc_text = TABLE_HEADING_QUANTITY;
  38. $lc_align = 'right';
  39. break;
  40. case 'PRODUCT_LIST_WEIGHT':
  41. $lc_text = TABLE_HEADING_WEIGHT;
  42. $lc_align = 'right';
  43. break;
  44. case 'PRODUCT_LIST_IMAGE':
  45. $lc_text = TABLE_HEADING_IMAGE;
  46. $lc_align = 'center';
  47. break;
  48. case 'PRODUCT_LIST_BUY_NOW':
  49. $lc_text = TABLE_HEADING_BUY_NOW;
  50. $lc_align = 'center';
  51. break;
  52. }


cd
  1. <?php
  2. if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) {
  3. $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text);
  4. }
  5.  
  6. $list_box_contents[0][] = array('align' => $lc_align,
  7. 'params' => 'class="productListing-heading"',
  8. 'text' => '&nbsp;' . $lc_text . '&nbsp;');
  9. }
  10.  
  11. if ($listing_split->number_of_rows > 0) {
  12. $rows = 0;
  13. $column = 0;
  14. echo '  
  15. <table cellspacing=0 cellpadding=0>
  16.  <tr><td colspan=10 class=cy2 height=38><b> &nbsp; &nbsp; &nbsp;Jestes w : '.$breadcrumb->trail(' &raquo; ').'</b></td></tr>
  17.  <tr><td colspan=10><img src=images/m35.gif width=526 height=4></td></tr>
  18.  <tr><td valign=top class=bg2><table cellspacing=0 cellpadding=0><tr>
  19. ';
  20.  
  21. $listing_query = tep_db_query($listing_split->sql_query);
  22. while ($listing = tep_db_fetch_array($listing_query)) {
  23. $product_contents = array();
  24. $rows++;
  25. if (($rows/2) == floor($rows/2)) {
  26. $list_box_contents[] = array('params' => 'class="productListing-even"');
  27. } else {
  28. $list_box_contents[] = array('params' => 'class="productListing-odd"');
  29. }
  30.  
  31. $cur_row = sizeof($list_box_contents) - 1;
  32.  
  33. for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
  34. $lc_align = '';
  35.  
  36. switch ($column_list[$col]) {
  37. case 'PRODUCT_LIST_MODEL':
  38. $lc_align = '';
  39. $lc_text = '&nbsp;' . $listing['products_model'] . '&nbsp;';
  40. break;
  41. case 'PRODUCT_LIST_NAME':
  42. $lc_align = '';
  43. if (isset($HTTP_GET_VARS['manufacturers_id'])) {
  44. $lc_text = '<a class=ml2 href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>';
  45. } else {
  46. $lc_text = '<a class=ml2 href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>';
  47. }
  48. break;
  49. case 'PRODUCT_LIST_MANUFACTURER':
  50. $lc_align = '';
  51. $lc_text = '&nbsp;<a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a>&nbsp;';
  52. break;
  53. case 'PRODUCT_LIST_PRICE':
  54. $lc_align = 'right';
  55. if (tep_not_null($listing['specials_new_products_price'])) {
  56. $lc_text = '<span style="color:#7F7F7F;font-size:12px"><s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s></span><br><span class=t15>' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span>';
  57. } else {
  58. $lc_text = '<span>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '&nbsp;</span>';
  59. }
  60. break;
  61. case 'PRODUCT_LIST_QUANTITY':
  62. $lc_align = 'right';
  63. $lc_text = '&nbsp;' . $listing['products_quantity'] . '&nbsp;';
  64. break;
  65. case 'PRODUCT_LIST_WEIGHT':
  66. $lc_align = 'right';
  67. $lc_text = '&nbsp;' . $listing['products_weight'] . '&nbsp;';
  68. break;
  69. case 'PRODUCT_LIST_IMAGE':
  70. $lc_align = 'center';
  71. if (isset($HTTP_GET_VARS['manufacturers_id'])) {
  72. $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, ' class=br') . '</a>';
  73. } else {
  74. $lc_text = '&nbsp;<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, ' class=br') . '</a>&nbsp;';
  75. }
  76. break;
  77. case 'PRODUCT_LIST_BUY_NOW':
  78. $lc_align = 'center';
  79. $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;';
  80. break;
  81. }
  82.  
  83. $list_box_contents[$cur_row][] = array('align' => $lc_align,
  84.  'params' => 'class="productListing-data"',
  85.  'text' => $lc_text);
  86. $product_contents[] = $lc_text;  
  87. }
  88.  
  89.  
  90. echo '
  91.  <td width=173 valign=top>
  92. <table cellspacing=0 cellpadding=0 width=150 align=center border=0>
  93.  <tr><td colspan=2 height=5></td></tr>
  94.  <tr><td>'.$product_contents[0].'</td>
  95.  <td valign=middle><span class=cy1>'.$product_contents[2].'</span></td>
  96.  </tr>
  97.  <tr><td colspan=2 height=5></td></tr>
  98.  <tr><td colspan=2 align=center width=150 height=25>'.$product_contents[1].'</td></tr>
  99.  <tr><td colspan=2 height=10></td></tr>
  100.  <tr><td colspan=2 align=center><img src=images/m36.gif width=143 height=1></td></tr>
  101.  <tr><td colspan=2 height=10></td></tr>
  102.  <tr><td colspan=2 align=center><a href="'.tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $listing['products_id']) . '">' . tep_image_button('small_view.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW) . '</a></td></tr>
  103.  <tr><td colspan=2 height=12></td></tr>
  104. </table>
  105.  </td>
  106.  
  107. ';
  108. $column ++;
  109. if ($column >= 3) {
  110. $rows ++;
  111. $column = 0;
  112. echo '
  113.  </tr>
  114. </table>
  115. <table cellspacing=0 cellpadding=0>
  116.  <tr><td><img src=images/m37.gif width=526 height=1></td></tr>
  117. </table>  
  118. <table cellspacing=0 cellpadding=0 border=0>  
  119.  <tr>
  120.  ';
  121. } else echo '<td width=0></td>';
  122.  
  123.  
  124.  
  125. }
  126.  
  127. echo '
  128. </tr></table></td>
  129. </tr>
  130.  <tr><td><img src=images/m43.gif width=526 height=7></td></tr>
  131. </table>
  132.  ';
  133.  
  134. //new productListingBox($list_box_contents);
  135. } else {
  136. $list_box_contents = array();
  137.  
  138. $list_box_contents[0] = array('params' => 'class="productListing-odd"');
  139. $list_box_contents[0][] = array('params' => 'class="productListing-data"',
  140.  'text' => TEXT_NO_PRODUCTS);
  141.  
  142. echo '<div class=PageHeading>Categories</div>';
  143. new productListingBox($list_box_contents);
  144. }
  145.  
  146. if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) {
  147. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 18:37