[Решение] Глупые ошибки PhocaGallery v2.8.0

Тема в разделе "Phoca Gallery", создана пользователем lev, 09.11.2011.

  1. lev
    Offline

    lev Активист => Cпециалист <=

    Регистрация:
    21.12.2007
    Сообщения:
    687
    Симпатии:
    40
    Пол:
    Мужской
    В принципе эта ошибка была ещё в PhocaGallery v2.7.х
    1 Error, 1 warning(s)
    Line 127, Column 14: character "<" is the first character of a delimiter but occurred as data
    Код (CODE):
    1. if (charLeft < 0) {


    А причина в том, что надо просто обернуть скрипты в CDATA)))
    Код (CODE):
    1. <script type="text/javascript">
    2. здесь скрипт
    3. </script>


    вот так:
    Код (CODE):
    1. <script type="text/javascript">
    2. //<![CDATA[
    3. здесь скрипт
    4. //]]>
    5. </script>


    Теперь где будем править эту ошибку:
    /administrator/components/com_phocagallery/libraries/phocagallery/render/renderfront.php
    стр. 52-81
    Находим:
    Код (CODE):
    1. function renderCommentJS($chars) {
    2.        
    3.         $tag = "<script type=\"text/javascript\">"
    4.         ."function countChars() {" . "\n"
    5.         ."var maxCount  = ".$chars.";" . "\n"
    6.         ."var pfc           = document.getElementById('phocagallery-comments-form');" . "\n"
    7.         ."var charIn        = pfc.phocagallerycommentseditor.value.length;" . "\n"
    8.         ."var charLeft  = maxCount - charIn;" . "\n"
    9.         ."" . "\n"
    10.         ."if (charLeft < 0) {" . "\n"
    11.         ."   alert('".JText::_('You have reached maximum limit of characters allowed')."');" . "\n"
    12.         ."   pfc.phocagallerycommentseditor.value = pfc.phocagallerycommentseditor.value.substring(0, maxCount);" . "\n"
    13.         ."  charIn   = maxCount;" . "\n"
    14.         ."  charLeft = 0;" . "\n"
    15.         ."}" . "\n"
    16.         ."pfc.phocagallerycommentscountin.value = charIn;" . "\n"
    17.         ."pfc.phocagallerycommentscountleft.value   = charLeft;" . "\n"
    18.         ."}" . "\n"
    19.        
    20.         ."function checkCommentsForm() {" . "\n"
    21.         ."   var pfc = document.getElementById('phocagallery-comments-form');" . "\n"
    22.         ."   if ( pfc.phocagallerycommentstitle.value == '' ) {". "\n"
    23.         ."     alert('". JText::_( 'Please enter a title' )."');". "\n"
    24.         ."     return false;" . "\n"
    25.         ."   } else if ( pfc.phocagallerycommentseditor.value == '' ) {". "\n"
    26.         ."     alert('". JText::_( 'Please enter a comment' )."');". "\n"
    27.         ."     return false;" . "\n"
    28.         ."   } else {". "\n"
    29.         ."     return true;" . "\n"
    30.         ."   }" . "\n"
    31.         ."}". "\n"
    32.         ."</script>";
    33.        
    34.         return $tag;
    35.     }


    Правим:
    Код (CODE):
    1. function renderCommentJS($chars) {
    2.        
    3.         $tag = "<script type=\"text/javascript\">//<![CDATA["
    4.         ."function countChars() {" . "\n"
    5.         ."var maxCount  = ".$chars.";" . "\n"
    6.         ."var pfc           = document.getElementById('phocagallery-comments-form');" . "\n"
    7.         ."var charIn        = pfc.phocagallerycommentseditor.value.length;" . "\n"
    8.         ."var charLeft  = maxCount - charIn;" . "\n"
    9.         ."" . "\n"
    10.         ."if (charLeft < 0) {" . "\n"
    11.         ."   alert('".JText::_('You have reached maximum limit of characters allowed')."');" . "\n"
    12.         ."   pfc.phocagallerycommentseditor.value = pfc.phocagallerycommentseditor.value.substring(0, maxCount);" . "\n"
    13.         ."  charIn   = maxCount;" . "\n"
    14.         ."  charLeft = 0;" . "\n"
    15.         ."}" . "\n"
    16.         ."pfc.phocagallerycommentscountin.value = charIn;" . "\n"
    17.         ."pfc.phocagallerycommentscountleft.value   = charLeft;" . "\n"
    18.         ."}" . "\n"
    19.        
    20.         ."function checkCommentsForm() {" . "\n"
    21.         ."   var pfc = document.getElementById('phocagallery-comments-form');" . "\n"
    22.         ."   if ( pfc.phocagallerycommentstitle.value == '' ) {". "\n"
    23.         ."     alert('". JText::_( 'Please enter a title' )."');". "\n"
    24.         ."     return false;" . "\n"
    25.         ."   } else if ( pfc.phocagallerycommentseditor.value == '' ) {". "\n"
    26.         ."     alert('". JText::_( 'Please enter a comment' )."');". "\n"
    27.         ."     return false;" . "\n"
    28.         ."   } else {". "\n"
    29.         ."     return true;" . "\n"
    30.         ."   }" . "\n"
    31.         ."}". "\n"
    32.         ."//]]></script>";
    33.        
    34.         return $tag;
    35.     }


    Всё!

    Можно ещё поиграться с этим:
    ст. 382-397
    Код (CODE):
    1. switch ($slideshow) {
    2.             case 1:
    3.                 $tag .= ' if (hs.addSlideshow) hs.addSlideshow({ '."\n"
    4.                 .'  slideshowGroup: \''.$typeOutput.$slideShowGroup.'\','."\n"
    5.                 .'  interval: 5000,'."\n"
    6.                 .'  repeat: false,'."\n"
    7.                 .'  useControls: true,'."\n"
    8.                 .'  fixedControls: true,'."\n"
    9.                 .'    overlayOptions: {'."\n"
    10.                 .'      opacity: 1,'."\n"
    11.                 .'      position: \'top center\','."\n"
    12.                 .'      hideOnMouseOut: true'."\n" 
    13.                 .'    }'."\n"
    14.                 .' });'."\n";
    15.             break;


    И изменить его так:
    Код (CODE):
    1. switch ($slideshow) {
    2.             case 1:
    3.                 $tag .= ' if (hs.addSlideshow) hs.addSlideshow({ '."\n"
    4.                 .'  slideshowGroup: \''.$typeOutput.$slideShowGroup.'\','."\n"
    5.                 .'  interval: 5000,'."\n"
    6.                 .'  repeat: false,'."\n"
    7.                 .'  useControls: true,'."\n"
    8.                 .'  fixedControls: \'fit\','."\n"
    9.                 .'    overlayOptions: {'."\n"
    10.                 .'      opacity: .75,'."\n"
    11.                 .'      position: \'bottom center\','."\n"
    12.                 .'      hideOnMouseOut: true'."\n" 
    13.                 .'    }'."\n"
    14.                 .' });'."\n";
    15.             break;


    Ещё некоторый бег, я не совсем уверен в его правильности, но он работает:
    /components/com_phocagallery/views/category/tmpl/default.php
    ст. 274-280
    Код (CODE):
    1. echo '<div><ul class="star-rating-small">'
    2.             .'<li class="current-rating" style="width:'.$value->voteswidthimg.'px"></li>'
    3.             .'<li><span class="star1"></span></li>';
    4.             for ($iV = 2;$iV < 6;$iV++) {
    5.                 echo '<li><span class="stars'.$iV.'"></span></li>';
    6.             }
    7.             echo '</ul></div>';
    8.             echo '</a></div>';


    Правим на:
    Код (CODE):
    1. echo '<object><ul class="star-rating-small">'
    2.             .'<li class="current-rating" style="width:'.$value->voteswidthimg.'px"></li>'
    3.             .'<li><span class="star1"></span></li>';
    4.             for ($iV = 2;$iV < 6;$iV++) {
    5.                 echo '<li><span class="stars'.$iV.'"></span></li>';
    6.             }
    7.             echo '</ul></object>';
    8.             echo '</a></div>';
     
  2.  

Поделиться этой страницей

Загрузка...