mailing zmienna |
mailing zmienna |
27.07.2012, 09:02:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 18.10.2008 Ostrzeżenie: (0%) |
Witam,
po raz kolejny przychodzę po pomoc, pewnie po dłuższym grzebaniu i przemyśleniu w końcu bym doszedł, ale że zaczyna się weekend - zależy mi trochę na czasie - tak więc do rzeczy... mam oczywiście gotowy skrypt do mailingu, jak piszą w dokumentacji zmienne powinny być podstawiane prawidłowo, ale tak nie jest, po wstawieniu {USER_NAME} w każdej kolejnej wiadomości wyświetla się ta sama nazwa użytkownika - z pierwszego rekordu w bazie, tak wygląda kod:
jak to poprawić? pętlą foreach? jeżeli tak to w jaki sposób? próbowałem już wiele opcji z góry dziękuję za jakąkolwiek odpowiedź, pozdrawiam Ten post edytował Aquarius 27.07.2012, 09:04:12 |
|
|
27.07.2012, 09:28:59
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
Zauważ, że z pierwszym obrotem pętli {USER_NAME} zmieniasz na konkretną nazwę, więc za drugim obrotem nie ma już {USER_NAME}.
Albo znajdź ciekawsze rozwiązanie - np. swift_mailer posiada do tego specjalny plugin, albo popraw ten zapisując "nowy" content i nowy "subject" pod nową zmienną - choćby $content2. Tym samym z każdym obrotem pętli działasz na oryginale. Poza tym str_replace przyjmuje argumenty także w postaci tablicy - 4 linijki i ewentualne przyszłe dodatkowe zmienne można zastąpić dwoma - to już luźna sugestia. Ten post edytował markonix 27.07.2012, 09:33:05 -------------------- |
|
|
27.07.2012, 09:29:34
Post
#3
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 69 Dołączył: 23.10.2004 Skąd: Oświęcim Ostrzeżenie: (0%) |
Zauważ, że podmieniasz teksty na odpowiednie wartości tylko w pierwszym przejściu pętli. W drugim w $content i $subject nie ma już {USER_ID}, tylko to co wstawiłeś w pierwszym.
Zrób sobię osobną zmienną, w której trzymasz wzór, a w pętli operuj na kopiach. ==EDIT== Spóźniłem się ;-) Ten post edytował ADeM 27.07.2012, 09:30:04 -------------------- |
|
|
27.07.2012, 09:32:12
Post
#4
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) |
Analiza kodu:
1. Przed petla deklarujesz zmienna $content (tresc wiadomosci). 2. W tresci wiadomosci jest znacznik {USER_NAME}. 3. Podczas przetwarzania zwrotu z bazy zamieniasz znacznik {USER_NAME} na nazwe uzytkownika. 4. Wszedzie uzywasz tej samej zmiennej $content. Pytanie: Czy po przetworzeniu pierwszego rekordu w tresci wiadomosci $content znacznik {USER_NAME} bedzie dalej istnial? |
|
|
27.07.2012, 09:52:08
Post
#5
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 18.10.2008 Ostrzeżenie: (0%) |
ogromne dzięki panowie, no jak widać całe życie się człowiek uczy, oczywiście działa, na szybko zmieniłem sobie tylko $content = ... na $content2 = ...
oczywiście jest mało przejrzyście dlatego sobie to później przepiszę (zdefiniuję przed pętlą), ale bardzo precyzyjnie mnie naprowadziliście |
|
|
Wersja Lo-Fi | Aktualny czas: 22.05.2024 - 15:28 |