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

Wyciągniecie danych z własnego pola profilu.


Przejdź do rozwiązania Rozwiązane przez DawPi,

Rekomendowane odpowiedzi

Czy istnieje mozliwość wyciągnięcia danych wpisanych w stworzone przeze mnie customowe pole profilu ?

Chciałbym to umieścić np. w bicie szablonu. : http://xxx.xxx.pl/li...{$zmienna,klucz pola?}

Próbowałem czegoś w stylu:

  <li class='CATEGORY TAG HERE'>
 <if test="authorcfields:|:$author['custom_fields']['CATEGORY TAG HERE'] != """>
  <foreach loop="customFieldsOuter:$author['custom_fields']['CATEGORY TAG HERE'] as $key => $value">
   {$value}<br/>
  </foreach>
 </if>
  </li>

Edytowane przez Adam22

ipbaddons.com

Odnośnik do komentarza
Udostępnij na innych stronach

W hooki nigdy się nie bawiłem więc nie wiem czy plik php jest dobrze napisany i czy trzeba dodawać klasę :

    public function getFieldIDByKey( $key )
    {
        $field = 0;
        
        foreach( $this->cache_data as $id => $_c )
        {
            if( $_c['nickmc'] == $key )
            {
                $field = $id;
                break;
            }
        }
        
        return $field;

          $template = $this->registry->output->getTemplate('globalTemplate')->showfield();
    }  
        

 
Edytowane przez Adam22

ipbaddons.com

Odnośnik do komentarza
Udostępnij na innych stronach

Cały kod:


class UserProfileNames 
{
	

        public function getFieldIDByKey( $key )
	{
		$field = 0;
		
		foreach( $this->cache_data as $id => $_c )
		{
			if( $_c['nickmc'] == $key )
			{
				$field = $id;
				break;
			}
		}
		
		
		$this->registry->output->addContent( $this->registry->output->getTemplate('global')->globalTemplate( $field ) );
        return $field;
		
	}

	
}

Zwraca

 

Warning: Missing argument 10 for skin_global_12::globalTemplate(), called in /home/forum/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 312 and defined in /home/forum/public_html/cache/skin_cache/cacheid_12/skin_global.php on line 435
Edytowane przez Adam22

ipbaddons.com

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Dlaczego tak to napisałeś:

$this->registry->output->addContent( $this->registry->output->getTemplate('global')->globalTemplate( $field ) );
Ile zmiennych ma ten bit skina? Sprawdzałeś?

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Twoja jest dopisana jako pierwsza i jedyna, a to trochę mało. Poza tym co to za typ rozszerzenia? Przeładowanie klasy czy skina? Bo chyba chcesz złapać dwie sroki za jeden ogon.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Klasy. OK. Więc nie używaj takiej konstrukcji:

 

$this->registry->output->addContent( $this->registry->output->getTemplate('global')->globalTemplate( $field ) );

Bo jest błędna.

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • 2 miesiące temu...

Założeniem było wyciągnięcie dodatkowego pola profilu do głównej strony forum. (1 Post)

Wielkie dzięki :) Odpuściłem to sobie jakiś czas temu jednak teraz znowu ten hook jest mi potrzebny ;/

 

Z wiedzy z dokumentacji, domyśliłem się że muszę zrobić 2 pliki, jeden action overload i drugi skin overload.

Kolejno:

class NickNames 
{
        public function getFieldIDByKey( $key )
	{
		$field = 0;
		
		foreach( $this->cache_data as $id => $_c )
		{
			if( $_c['nickmc'] == $key )
			{
				$field = $id;
				break;
			}
		}
		
		
	}
}

oraz:

 

class NickNames  extends skin_global(~id~)
{
	public function globalTemplate( $field )
	{	
			$this->registry->output->addContent( $this->registry->output->getTemplate('global')->globalTemplate( $field ) );
                        return $field;
	}
}

Nie wiem co dalej bo w dokumentacji hooków nic więcej nie pisze. 

 

Błąd taki jak powyżej:

 

Warning: Missing argument 10 for skin_global_1::globalTemplate(), called in C:\Program Files\VertrigoServ\www\admin\sources\classes\output\formats\html\htmlOutput.php on line 312 and defined in C:\Program Files\VertrigoServ\www\cache\skin_cache\cacheid_1\skin_global.php on line 83
Edytowane przez Adam22

ipbaddons.com

Odnośnik do komentarza
Udostępnij na innych stronach

Bo znowu podajesz błędny kod do templatki..

$this->registry->output->addContent( $this->registry->output->getTemplate('global')->globalTemplate( $field ) );

Podajesz jedną zmienną skina, a on ma ich znacznie więcej ;)

Zapraszam na moje portfolio oraz bloga wojtusdev.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • 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ę.