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

Wyczyszczenie dodanych ciągów językowych we wtyczce


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

Rekomendowane odpowiedzi

Opublikowano

Aplikacja. Moja funkcja od konfiguracji wygląda tak:

 

	public function configuration( &$form=null )
	{
		$form = parent::configuration( $form );
 		
		$form->add( new \IPS\Helpers\Form\Translatable( 'title', isset( $this->configuration['language_key'] ) ? NULL : \IPS\Member::loggedIn()->language()->addToStack( 'block_testapp' ), FALSE, array( 'app' => 'testapp', 'key' => ( isset( $this->configuration['language_key'] ) ? $this->configuration['language_key'] : NULL ) ) ) );
		$form->add( new \IPS\Helpers\Form\Number( 'testapp_height', isset( $this->configuration['height'] ) ? $this->configuration['height'] : 300, TRUE, array( 'max' => 200 ) ) );
		return $form;
 	} 

 

Opublikowano
11 minut temu, DawPi napisał(a):

Dodaj do kodu widgetu taką metodę:

    public function delete()
    {
        \IPS\Lang::deleteCustom( 'testapp', $this->configuration['language_key'] );
    }

 

 

Dzięki za pomoc, czy musze również dodać funkcję deleteCustom do funkcji która się uruchamia gdy usuwam aplikację/wtyczkę?

  • Manager
Opublikowano

Hm, nie, bo widgetów nie musisz dodawać z aplikacji, więc i się te nowe stringi językowe nie tworzą. A wszystkie klucze z dev/ folderu aplikacji są usuwane automatycznie.

Chyba, że pytasz o coś innego to sprecyzuj.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano
3 minuty temu, DawPi napisał(a):

Hm, nie, bo widgetów nie musisz dodawać z aplikacji, więc i się te nowe stringi językowe nie tworzą. A wszystkie klucze z dev/ folderu aplikacji są usuwane automatycznie.

Chyba, że pytasz o coś innego to sprecyzuj.

 

Powiedzmy że mam aplikację która po każdym dodanym rekordzie w panelu administracyjnym dodaje frazę językową np. apka_rekord_IDrekordu i później wywołuję to we front-endzie. I pytam czy muszę po odinstalowywaniu aplikacji wywoływać usuwanie fraz językowych dodanych do każdego rekordu dodanego w ACP. Nie umiem inaczej wytłumaczyć.

Opublikowano (edytowane)

Po dodaniu rekordu w mojej aplikacji dodaje do niego frazę językową:

/* Do it */
\IPS\Lang::saveCustom( 'apka', "apka_user_{$user->id}", $values['apka_user'] );
unset( $values['apka_user'] );

 

I moje pytanie brzmi czy muszę zrobić jaką pętlę przy deinstalacji aplikacji, która usunie wszystkie dodane frazy językowe na podstawie dodanych rekordów w bazie danych? Czy IPS po usunięciu aplikacji automatycznie usuwa frazy dodane przez nią?

 

Znalazłem taką funkcję, czy wystarczy po prostu wykorzystać ją przy usuwaniu DANEGO rekordu?

image.thumb.png.3f2f8685b6c5a447406e874efc21271d.png

Edytowane przez Split
  • Manager
Opublikowano
57 minut temu, Split napisał(a):

 

Powiedzmy że mam aplikację która po każdym dodanym rekordzie w panelu administracyjnym dodaje frazę językową np. apka_rekord_IDrekordu i później wywołuję to we front-endzie. I pytam czy muszę po odinstalowywaniu aplikacji wywoływać usuwanie fraz językowych dodanych do każdego rekordu dodanego w ACP. Nie umiem inaczej wytłumaczyć.

Musisz. :)

 

Ale to przy usuwaniu tego rekordu, a nie przy odinstalowywaniu.

 

 

  • Dziękuję 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano

A ja dodam do siebie kod, który komuś się przyda :D

 

/**
	* [ActiveRecord] Delete Record
	*
	* @return	void
*/
public function delete()
{
	\IPS\Lang::deleteCustom( 'folderaplikacji', 'frazajezykowa_' . $this->id );

	parent::delete();
}

 

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ę.