eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwWordpress, dwie bazy i unikalny ID post-a
Ilość wypowiedzi w tym wątku: 12

  • 11. Data: 2011-09-08 11:12:48
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Peter May <p...@o...pl>

    W dniu 07-09-2011 22:02, porneL pisze:
    > On Wed, 07 Sep 2011 10:17:39 +0100, Peter May <p...@o...pl> wrote:
    >
    >> Któregoś dnia klientowi dawno temu postawiłem WP i zachciało się
    >> wielojęzyczności. W WP nie było i nadal nie jest to proste, więc
    >> wówczas utworzyłem dwie bazy danych. Przełączanie między językami
    >> zrobiłem prosto poprzez zwykłe przełączanie między bazami danych.
    >>
    >> Jednak problem zaczął się wtedy, gdy napisałem plugin, którego wynik
    >> jest zależny od zawartości konkretnych postów. No i zrobił się
    >> problem, bo posty można było tworzyć o tej samej treści dowolnie, ale
    >> gdy klient "mieszał" w WP, to w każdej bazie ID-ki postów rozjechały się.
    >
    > Wartość następnego ID dla auto_increment da się odczytać i ustawić (w
    > MySQL to ALTER TABLE xxx AUTO_INCREMENT=xxx), więc możesz zrobić proste
    > "api", które będzie kopiowało największy ID między serwerami (dorzuć
    > request byle gdzie w kodzie przed zapisaniem posta).

    Request nie będzie potrzebny, bo obie bazy są na tym samym serwerze. A z
    tym api to właśnie tą drogą chcę pójść. Zastanawiam się czy nie lepiej
    będzie jak WP utworzy wpis, ja sprawdzę czy w drugiej bazie jest wolny
    taki sam ID i wówczas "sklonować" wpis w drugiej bazie. W przypadku
    konfliktu ID-ków wpisów nowo utworzony musiałbym kasować lub zmieniać mu
    na takie ID, by były oba zgodne z obu bazach.

    > ...ale dużo sensowniejszym rozwiązaniem było by nadawanie jakiegoś
    > bardziej ludzkiego i kontrolowanego identyfikatora postom, np. taki sam
    > tag, slug/URL czy własna specjalna kolumna.

    Raczej nie. Dlatego, że user nie zapanuje nad slug-ami, tagami, itp. A
    pilnowanie, by posty miały te same ID-ki daje 100% gwarancji.

    --
    Peter


  • 12. Data: 2011-09-08 11:21:23
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Peter May <p...@o...pl>

    W dniu 07-09-2011 14:22, |<onrad pisze:
    > On Wed, 07 Sep 2011 11:17:39 +0200, Peter May wrote:
    >
    >> zachciało się
    >> wielojęzyczności. W WP nie było i nadal nie jest to proste,
    >
    > nie zgodze sie :)
    > http://wpml.org/
    > teraz jest platne ale imo warte wydania kasy (choc pewnie w Twoim wypadku
    > juz na to za pozno)

    WPML testowałem, ale niewiele. Więc de facto nie jestem w stanie
    stwierdzić na ile jest jego działanie dobre w boju.

    > a odnosnie samego problemu:
    >
    > po utworzeniu wpisu badz jego aktualizacji wordpress odpala akcje o
    > nazwie 'save_post'. akcja ta jako argument przyjmuje ID utworzonego/
    > zmodyfikowanego wpisu. dopisz funkcje, ktora sprawdzi ten id i
    > ewentualnie przez $wpdb->update zmien identyfikator na odpowiedni
    >
    > nigdy tego nie robilem, ale uprzedzam ze byc moze bedziesz musial tez
    > zrobic $wpdb->update na tabeli wp_postmeta. tu masz schemat bazy
    > wordpressa jak cos
    > http://codex.wordpress.org/File:WP3.0-ERD.png

    Dzięki. Sprawdzę to szybko w działaniu.

    --
    Peter

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: