W cyklu jQuery dostępna jest opcja o nazwie startSlide. Domyślnie jest to ustawione na 0, tak jak poniżej: StartingSlide: 0
Jeśli dobrze pamiętam, istnieje karta / obszar tekstowy dla ustawień zaawansowanych, w których możesz dodawać opcje do jQuery Cycle z poziomu interfejsu użytkownika Widoków. Myślę, że możesz na przykład dodać „startSlide: 5”.
Musisz dowiedzieć się, który slajd początkowy (przekonwertować% nid, do którego wiersza w widoku jest) i dodać go jako element HTML. Gdy to jest możliwe, możemy pobrać go za pomocą jQuery i dodać jako opcję cyklu jQuery. Nie jestem pewien, który jest najlepszy sposób, ale myślę, że możesz zrobić coś takiego:
function MYMODULE_views_pre_render(&$view) {
if($view->name == "MYVIEW") {
$view->attachment_after = $startingslide;
}
}
Będziesz musiał dodać więcej kodu, aby znaleźć tam $ startingslide. Zajrzyj do wyniku $ view-> i dowiedz się, który z wierszy jest argumentem, który będzie twoją $ startingslide. Użyj dpm () w widoku, aby przeszukać obiekt.
Mam nadzieję, że to ci pomoże. Daj mi znać, co skończyłeś :)
Ponieważ twój problem dotyczy wyglądu, a nie struktury, sugeruję, aby nie rozwiązywać go na serwerze, a nie na ścieżce adresu URL, ale na kliencie z frustracją adresu URL: / portfolio # slide- [nid].
Nie czytałem kodu javascript widoków pokazu slajdów + cyklu, ale myślę, że dość łatwo jest przyjąć jego zachowanie, aby odczytać fragment adresu URL podczas inicjowania pokazu slajdów. A może zaimplementowano już taką logikę, której można użyć ...
źródło
Co powiesz na użycie opcji „Przepisz wyniki wyjściowe” w sekcji Pola widoków?
Mam nadzieję że to pomoże.
źródło
Widoki przekazują
node_view()
w tym przypadku ekran i nie angażują się w znaczniki dla wiersza.Najłatwiejszym sposobem, aby zrobić to, co chcesz, jest zaimplementowanie
hook_preprocess_node()
, poszukaj widoku w bieżącym kontekście, a jeśli węzeł jest renderowany jako część tego ekranu, możesz wprowadzić pewne zmiany.SPÓJRZ NA TO:
W swoim
node.tpl.php
pliku będziesz mieć dostęp do$extra_link.
źródło