Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Wtyczka Gallery: Show albums in board index v1.0.0 w paru przypadkach działa poprawnie:

Zrzut%20ekranu%202012-04-18%20(godz.%2023.07.01).png

W kolejnym zaś nie wyświetla wszystkich miniaturek po prawej stronie:

Zrzut%20ekranu%202012-04-18%20(godz.%2023.08.34).png

Oraz:

Zrzut%20ekranu%202012-04-18%20(godz.%2023.10.28).png

W owych albumach oczywiście jest spora ilość grafik.

Domyślam się, że jakieś cache trzeba przebudować, tylko gdzie i które?

Opublikowano

Ok już rozumiem, miniaturki z prawej strony pochodzą z subalbumów danego albumu(więc jeśli album nie ma subalbumu to rozszerzenie nie wyświetla miniaturek z prawej strony).

Czy była by możliwość aby miniaturki zamiast z subalbumów pochodziły z danego albumu?

O to kod hooka:

<hooks_source><![CDATA[<?php
class gallery_attach_forums
{
/**
 * Registry Object
 *
 * @access protected
 * @var  object
 */
protected $registry;


public function __construct()
{
 /* Make registry objects */
 $this->registry = ipsRegistry::instance();
}

public function getOutput() { }
/**
 * Replace output
 *
 * @access public
 * @param string  Output
 * @param string  Hook key
 */
public function replaceOutput( $output, $key )
{
 $cache = $this->registry->cache()->getCache('gallery_fattach');

 if ( ! count( $cache ) )
 {
  return $output;
 }

 /* Gallery Object */
 $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . '/applications_addon/ips/gallery/sources/classes/gallery.php', 'ipsGallery' );
 $this->registry->setClass( 'gallery', new $classToLoad( $this->registry ) );

 /* Load the language File */
 $this->registry->class_localization->loadLanguageFile( array( 'public_gallery', 'public_gallery_four' ), 'gallery' );

 if( is_array($this->registry->output->getTemplate('boards')->functionData['boardIndexTemplate'][0]['cat_data']) AND count($this->registry->output->getTemplate('boards')->functionData['boardIndexTemplate'][0]['cat_data']) )
 {
  $tag = '<!--hook.' . $key . '-->';
  $last = 0;

  foreach( $this->registry->output->getTemplate('boards')->functionData['boardIndexTemplate'][0]['cat_data'] as $cid => $cdata )
  {
   foreach( $cdata['forum_data'] as $id => $data )
   {
 $pos = strpos( $output, $tag, $last );

 if ( $pos )
 {
  $string = '';

  if ( isset( $cache[ $id ] ) )
  {
   foreach( $cache[ $id ] as $album_id )
   {
    $album   = $this->registry->gallery->helper('albums')->fetchAlbumsById( $album_id );

    if ( $album['album_id'] && $this->registry->gallery->helper('albums')->isViewable( $album ) )
    {
	 $string .= $this->registry->output->getTemplate('gallery_albums')->boardIndexEntry( $album );
    }
   }

   $output = substr_replace( $output, $string . $tag, $pos, strlen( $tag ) );
  }

  $last = $pos + strlen( $tag . $string );
 }
   }
  }
 }

 return $output;
}
}]]></hooks_source>

  • Manager
Opublikowano

if ( $album['album_id'] && $this->registry->gallery->helper('albums')->isViewable( $album ) )

Sprawdź czy album jest w ogóle widoczny i możliwe jest tam dodawanie grafik, choć czytając, co piszesz to powinieneś mieć to ustawione. :icon_surprised:

Bez kilku testów ciężko będzie to jednoznacznie stwierdzić, co trzeba zrobić. Chyba najlepiej będzie, jak się zgłosisz do IPSu, by Ci odpowiedział. No chyba, że potrafisz te testy wprowadzić samodzielnie. Mowa o jakichś echach po pętli i ifach, by stwierdzić, gdzie się kod 'ucina', a potem analizować dalej.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.