Skocz do zawartości

problem z działaniem tagu [Towar::Nazwa]


Zobacz rozwiązanie Rozwiązane przez Bartosz Rosa,

Polecane posty

W szablonie opisu aukcji używam tagu [Towar::Nazwa].

szablonopisu.thumb.png.1763f3a40219b825cdfc11e47051f50e.png

Służy on do wstawienia w tym miejscu nazwy z zakładki Serwisy:
nazwatowaruopisowa.png.ba668684449f4c088f7513b985c9b79e.png
Przy wystawianiu nowej aukcji z poziomu towaru (Wystaw z szablonu) tag działa prawidłowo, czyli wstawia tą nazwę.
Ostatnio potrzebowałem usunąć pewien tekst ze wszystkich opisów aukcji i w tym celu poprawiłem szablon opisu aukcji i zastosowałem zmianę zbiorczą z wygenerowaniem opisu z szablonu domyślnego dla towaru powiązanego z aukcją:
zmianyzbiorczeopisu.png.99f804b08ed34db530c4f12f3606b8d6.png
Niestety dopiero po zmianie wszystkich aukcji zauważyłem, że tag [Towar::Nazwa] wstawił mi nazwę towaru z zakładki Podstawowe:
nazwatowaruzsubiekta.png.ca71655e64dd79ab4dede95bdf459145.png
Jest to w moim przypadku duży problem, ponieważ straciłem w opisie sporo informacji, które powinny się tam wyświetlać.
zyopisnaaukcji.png.9b529c8260804eb9c78a85f1eba0e260.png
Teraz opis wygląda tak, a powinna tam być pełna nazwa z zakładki Serwisy.
Dlaczego tag [Towar::Nazwa] działa w różny sposób zależnie od miejsca, z jakiego jest uruchomiony?
Proszę o pomoc, w jaki sposób mogę teraz wgrać w to miejsce tą prawidłową nazwę.
Wystawiania wszystkich aukcji od nowa wolałbym uniknąć, ponieważ wtedy musiałbym w każdej aukcji przypisywać ręcznie produkt.

Link to postu

Nazwa towaru konfigurowana dla serwisów to dość stara funkcja, stworzona i używana w zasadzie na potrzeby dawniej używanych serwisów aukro.cz, teshvesh.hu i ebaya. Przy realizacji tagów Sello, nie była brana pod uwagę i podejrzewam, że funkcja wystaw z szablonu działa w tym kontekście jakoś z pominięciem tagów i wstawia na siłę nazwę dla serwisu a nie z tagu [Towar::Nazwa]. Tagi raczej działają zawsze tak samo.

 

Czy stoi coś na przeszkodzie aby nazwy towarów miały ustawioną tę dłuższą nazwę zamiast Linka? Można by było spróbować przepisać poleceniem SQL te nazwy dla serwisu do głównej nazwy i przegenerować raz jeszcze opisy.

Link to postu

Rozwiązanie z przepisaniem nazwy niestety nie będzie dobre ze względu na ilość znaków. Spróbowałem zmienić tą nazwę w Sello i zmieściła się cała. Niestety po użyciu funkcji "Pobierz dane z Subiekta GT" nazwa zmieniła z powrotem się na tą z Subiekta.
W Subiekcie nazw nie chcemy zmieniać, ale nawet gdybyśmy się na to zdecydowali, to pole Nazwa ma tam ograniczenie do 50 znaków. Gdyby taka ilość znaków nam wystarczała, to pozostalibyśmy przy tytule aukcji i nie potrzebowalibyśmy tego w opisie.

 

My w Subiekcie mamy pełne nazwy towaru w polu "Opis" (używane są np. w sklepie internetowym), natomiast długi opis towaru jest w polu "Pełna charakterystyka pozycji". Nazwy mamy krótkie, ponieważ i tak mieści się w tym polu tylko 50 znaków.
Od początku użytkowania Sello brakuje nam funkcji importu z Subiekta zarówno pola "Opis", jak i "Pełna charakterystyka pozycji". Przy konfiguracji jest tylko możliwość wyboru jednego z tych pól.
W pewien sposób poradziliśmy sobie, ręcznie kopiując pole "Opis" z Subiekta do pola "Nazwa dla serwisu" w każdym towarze.
Nie wiem, czy tylko my używamy tego pola, ale wolałbym, aby tag [Towar::Nazwa] pobierał jednak nazwę z tego pola.
Jeśli tam ktoś potrzebuje podstawowej nazwy, to przecież domyślnie jest zaznaczona opcja "Użyj podstawowej".
Nie wiem, jak się programistycznie wstawia "na siłę", ale można by to zastosować również przy przegenerowaniu opisu.

 

Oczywiście dla nas najlepszym rozwiązaniem byłoby importowanie z Subiekta zarówno pola "Opis", jak i "Pełna charakterystyka pozycji".

Link to postu

W takim razie, można dodać pole własne (np wlasna_nazwa) w towarze Sello i tam przepisać tę nazwę, a następnie się nim posłużyć w szablonie tagiem [Towar::PW::wlasna_nazwa], zamiast [Towar::Nazwa]. Rozwiązanie można w zasadzie wyklikać + samo przepisanie danych wymaga wykonania jednego polecenia SQL, które przygotuję.

 

57 minut temu, Piotr Sasuła napisał:

Nie wiem, czy tylko my używamy tego pola, ale wolałbym, aby tag [Towar::Nazwa] pobierał jednak nazwę z tego pola.

Takiej poprawki nie zrobimy już w Sello1 bo dodajemy już tylko krytyczne poprawki a to dość mocno ingeruje w mechanizm działania tagów - zapewne spowoduje to problem u innych użytkowników.

 

57 minut temu, Piotr Sasuła napisał:

Nie wiem, jak się programistycznie wstawia "na siłę", ale można by to zastosować również przy przegenerowaniu opisu.

Chodziło mi o to, że funkcja wystaw na aukcji z szablonu prawdopodobnie w ogóle nie bierze pod uwagę faktycznej wartości [Towar::Nazwa], lub jakoś ją nadpisuje. Trudno powiedzieć bez analizy, ale to są obszary programu dość dawno nie aktualizowane stąd można się tam spodziewać wszystkiego.

 

 

Link to postu

To, które miałem na myśli raczej zakładało przeniesienie wartości w ramach bazy Sello. W samym Subiekcie można natomiast również dodać pole własne i do niego skopiować dane z pola Opis. Pole to będzie od razu dostępne (po synchronizacji) w Sello jako pole własne zewnętrzne [Towar::PWZ::nazwa_pola_z_subiekta].

Link to postu

W Subiekcie pola własne również mają ograniczenie długości, więc ta opcja nie zadziała.
W takim razie jeśli można, to prosiłbym o przygotowanie tego polecenia SQL do przeniesienia w ramach bazy Sello.
Czy sposób wykonania tego polecenia jest taki, jak w poniższym wątku?
https://forum.insert.com.pl/index.php?/topic/8236-program-serwisowy-przydatne-skrypty/

Link to postu
W dniu 25.10.2023 o 11:48, Piotr Sasuła napisał:

W Subiekcie pola własne również mają ograniczenie długości, więc ta opcja nie zadziała.

Do 255 znaków bodajże, czy ta nazwa bywa dłuższa?

 

W dniu 25.10.2023 o 11:48, Piotr Sasuła napisał:

Czy sposób wykonania tego polecenia jest taki, jak w poniższym wątku?

Tak.

Link to postu
  • 4 tygodnie później...
  • 3 tygodnie później...
  • Rozwiązanie

1. Na początek, trzeba dodać pole własne do towaru, np wlasna_nazwa

image.png.bbd149ddadc76cf6b7e0fdc47b74a1cf.png

2. Następnie zaznaczyć wszystkie towary i zmianami zbiorczymi Ctrl+B nadać temu polu pustą wartość:

image.png.e0a026dda70ed24cc86afcb8dc567dfb.png

3. Wykonać koniecznie kopię bazy danych (archiwizację), bo dalsze kroki operują na bazie danych i mogą bezpowrotnie usunąć dane w bazie przy niepoprawnym zastosowaniu

4. Z poziomu programu serwisowego do Sello (admin.exe) lub Microsoft SQL Server Management Studio wykonać poniższe polecenie SQL.

update it_CustomAttributes set ia_AttributeValue = 
isnull(
	(select is_name from it_ItemSite ist where ist.is_itemId = ia_ItemId 
		and is_SiteId = (select st_id from st__Site where st_SiteId = 1 and st_svcProvId = 1)
	),
'')
where ia_AttributeId= (select cat_id from sl_CustomAttributes where cat_Name='wlasna_nazwa')

Jeśli pole własne ma inną nazwę to zmienić ją w tym poleceniu na samym końcu (wpisać nazwę pola własnego, tutaj wlasna_nazwa).

W towarach w których było dodane pole własne za pomocą zmian zbiorczych zawartość pola:

image.png.c0fbaa8f0a9ebeef70e7ab76343d8b15.png

powinna się przepisać do pola własnego

image.png.f67d3ac2794273b5517da462c5fd3243.png

Po tym zabiegu nie należy już korzystać z pola Nazwa na zakładce SERWISY, bo przepisywanie działa tylko raz, w momencie wykonania polecania SQL. Można je wykonywać wielokrotnie - będzie ono nadpisywać wartości pola własnego.

 

5. W szablonie opisu tam, gdzie użyty jest tag [Towar::Nazwa] należy zastosować tag [Towar::PW::wlasna_nazwa] - lub inna nazwa pola własnego.

 

 

 

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...